Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

IE6 + https + Control.Modal = error

#9

I have the following source in a web page accessed via SSL using IE6:


<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="livepipe.js"></script>
<script type="text/javascript" src="window.js"></script>

       $$('.modal').each(function(link){
       new Control.Modal(link,{
                       className: 'modal',
                       overlayOpacity: 0.75,
                       iframeshim: false
           });
   });
       Control.Modal.close();

This works fine in Firefox & Safari, but not in IE6. In IE6, I get two dialog boxes in a row that say:

"This page contains both secure and nonsecure items. Do you want to display the nonsecure items?"

And then, whether I choose "Yes" or "No", I get:

"Internet Explorer cannot open the Internet site . . . [snip] . . . Operation Aborted"

Nothing is displayed on the resulting page.

I noticed that if I delete the following code from window.js, the errors go away and I can see the web page, albeit with errors:


        updateIFrameShimZIndex: function(){
               if(this.iFrameShim)
                       this.iFrameShim.positionUnder(this.container);
       }

Any suggestions on how to work around this?

####

you can solve it by putting your code on a function and call it from

. That solves the IE error. There are some pages that talks about that, I'm not an expert but somthing in window.js appends a child into body and shouldn't or something.

Reported by Ryan Johnson · June 19th, 2008 @ 06:16 PM

State: resolved
Milestone: 1.0
Assigned to: Nathan L Smith Nathan L Smith

Activity

  1. Juriy Zaytsev
    Juriy Zaytsev

    IE tries to insert an element into a "body" when body has not yet been finished loading. This shouldn't appear if code is executed once DOM has been fully loaded.

    document.observe('dom:loaded', function(){
     // do stuff here
    })
    

    June 19th, 2008 @ 06:49 PM

  2. Ryan Johnson
    Ryan Johnson

    Thank you sir!

    On Thu, Jun 19, 2008 at 6:49 PM, Lighthouse

    wrote:

    June 19th, 2008 @ 07:05 PM

  3. jeff (at jeffhartman)
    jeff (at jeffhartman)
    • Tag set to control.window, https, ie

    I was getting the "Internet Explorer cannot open the Internet Site ..." message and this fixed it. Thanks!

    Now, however, my close link in the modal no longer works.

    Close

    Do you know what I can do to fix that?

    July 28th, 2008 @ 01:27 PM

  4. hobodave
    hobodave

    This is fixed by changing line #319 of livepipe.js as follows:

    diff --git a/src/livepipe.js b/src/livepipe.js
    index 7905e60..dc3efcd 100644
    --- a/src/livepipe.js
    +++ b/src/livepipe.js
    @@ -316,7 +316,7 @@ var IframeShim = Class.create({
        initialize: function() {
            this.element = new Element('iframe',{
                style: 'position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);display:none',
    -           src: 'javascript:void(0);',
    +           src: 'javascript:false;',
                frameborder: 0
            });
            $(document.body).insert(this.element);
    

    August 13th, 2008 @ 04:38 PM

  5. hobodave
    hobodave
    • Tag changed from control.window, https, ie to control.modal, control.window, https, ie

    Correction: the previous inserts 'false' in the page. The following takes care of that, this technique is used in jQuery.

    diff --git a/src/livepipe.js b/src/livepipe.js
    index 7905e60..dc3efcd 100644
    --- a/src/livepipe.js
    +++ b/src/livepipe.js
    @@ -316,7 +316,7 @@ var IframeShim = Class.create({

    initialize: function() {
        this.element = new Element('iframe',{
            style: 'position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);display:none',
    
    •     src: 'javascript:void(0);',
      
    •     src: 'javascript:false;document.write("");',
          frameborder: 0
      });
      $(document.body).insert(this.element);
      

August 13th, 2008 @ 08:26 PM

  • hobodave
    hobodave

    @@@javascript diff --git a/src/livepipe.js b/src/livepipe.js index 7905e60..dc3efcd 100644 --- a/src/livepipe.js +++ b/src/livepipe.js @@ -316,7 +316,7 @@ var IframeShim = Class.create({

    initialize: function() {
        this.element = new Element('iframe',{
            style: 'position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);display:none',
    
    •     src: 'javascript:void(0);',
      
    •     src: 'javascript:false;document.write("");',
          frameborder: 0
      });
      $(document.body).insert(this.element);
      

    August 13th, 2008 @ 08:27 PM

  • hobodave
    hobodave

    well, lighthouse is looking like ass, I dont know why

    August 13th, 2008 @ 08:28 PM

  • DavePBand
    DavePBand

    This is such a shame, as none of the above solutions work for me, and It is such a nice control (except for the IE6 issue).

    any updates on this issue?

    May 13th, 2009 @ 08:35 PM

  • Nathan L Smith
    Nathan L Smith
    • State changed from unconfirmed to resolved

    October 23rd, 2009 @ 09:51 AM

  • hobodave
    hobodave
    • Assigned user changed from Ryan Johnson to Nathan L Smith

    Why was this closed as resolved? It still exists and has not been addressed.

    October 29th, 2009 @ 04:21 PM

  • Nathan L Smith
    Nathan L Smith

    @hobodave:

    October 30th, 2009 @ 10:00 AM

  • Please Sign in or create a free account to add a new ticket.

    With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.