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

Lightwindow not working properly in IE!


Go to End
Reply


11 Posts   8924 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