Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Lightwindow not working properly in IE!


Go to End
Reply


11 Posts   8265 Views

Avatar
lennie

Community Member, 1 Post

10 November 2009 at 11:43am

Yep I had the same issue and the 100% fix did not work. here is what to do

Replace:

this.checkImage = new PeriodicalExecuter(function(i) {
   if (!(typeof $('lightwindow_image_'+i).naturalWidth != "undefined" && $('lightwindow_image_'+i).naturalWidth == 0)) {

      this.checkImage.stop();

      var imageHeight = $('lightwindow_image_'+i).getHeight();
      if (imageHeight > this.resizeTo.height) {
         this.resizeTo.height = imageHeight;
      }
      this.resizeTo.width += $('lightwindow_image_'+i).getWidth();
      this.imageCount--;

      $('lightwindow_image_'+i).setStyle({
         height: '100%', width: '100%'
      });

      if (this.imageCount == 0) {
         this._processWindow();
      }
   }

}.bind(this, i), 1);

With:

   // We have to do this instead of .onload
var ie = (document.all)?1:0;
this.checkImage = new PeriodicalExecuter(function(i) {
   if(ie){ //THE BROWSER IS IE
      if ( $('lightwindow_image_'+i).complete && !(typeof $('lightwindow_image_'+i).naturalWidth != "undefined" && $('lightwindow_image_'+i).naturalWidth == 0)) {
         this.checkImage.stop();

         var imageHeight = $('lightwindow_image_'+i).getHeight();
         if (imageHeight > this.resizeTo.height) {
            this.resizeTo.height = imageHeight;
         }
         this.resizeTo.width += $('lightwindow_image_'+i).getWidth();
         this.imageCount--;

         $('lightwindow_image_'+i).setStyle({
            height: '100%', width: '100%'
         });

         if (this.imageCount == 0) {
            this._processWindow();
         }
         //alert('IE has been detected')
      }
   }
   else
   {//NOT IE, PROBABLY FF, OPERA, OTHER
      //this line works for all other browsers
      if ($('lightwindow_image_'+i).complete && !(typeof $('lightwindow_image_'+i).naturalWidth != "undefined" && $('lightwindow_image_'+i).naturalWidth == 0)) {

         this.checkImage.stop();

         var imageHeight = $('lightwindow_image_'+i).getHeight();
         if (imageHeight > this.resizeTo.height) {
            this.resizeTo.height = imageHeight;
         }
         this.resizeTo.width += $('lightwindow_image_'+i).getWidth();
         this.imageCount--;

         $('lightwindow_image_'+i).setStyle({
            height: '100%', width: '100%'
         });

         if (this.imageCount == 0) {
            this._processWindow();
         }
      }
   }

}.bind(this, i), 1);   

see this post
http://www.rtraction.com/blog/devit/lightwindow-image-sizing-bug-in-ie6-on-first-click-of-gallery.html

it will work now

Avatar
danqxx

Community Member, 14 Posts

18 December 2009 at 1:51pm

Good Job lennie,
This code worked for me. Thanks for the expertise.

Avatar
LoopyLarry

Community Member, 4 Posts

11 January 2010 at 11:23am

Just wanted to add that lennie's fix worked for me as well - I had lightwindow working with flickrservice in Firefox but not IE, but the fix works like a charm.

Many thanks!

Go to Top