2012-02-01 73 views
0

我正在使用名为SimpleGallery的jQuery插件插件。刷新后IE7 Jquery SimpleGallery无法加载

当我加载我的页面时,在每个浏览器中,一切都很完美。但是当我在Internet Explorer 7中刷新页面时,图像将不再加载。

这里是我的网页:https://www.cap47fb.com/bulthaup/welkom/

这是我的代码:

$(document).ready(function(){ 
var mygallery=new simpleGallery({ 
wrapperid: "simplegallery1", //ID of main gallery container, 
dimensions: [520, 721], //width/height of gallery in pixels. Should reflect dimensions of the images exactly 
imagearray: [ 
    ["https://www.cap47fb.com/bulthaup/images/welcome_1.jpg", "", "", ""], 
    ["https://www.cap47fb.com/bulthaup/images/welcome_2.jpg", "", "", ""] 
], 
autoplay: [true, 5000, 20], //[auto_play_boolean, delay_btw_slide_millisec, cycles_before_stopping_int] 
persist: true, //remember last viewed slide and recall within same session? 
fadeduration: 1000, //transition duration (milliseconds) 
oninit:function(){ 
    //event that fires when gallery has initialized/ ready to run 
    //Keyword "this": references current gallery instance (ie: try this.navigate("play/pause")) 
}, 
onslide:function(curslide, i){ //event that fires after each slide is shown 
    //Keyword "this": references current gallery instance 
    //curslide: returns DOM reference to current slide's DIV (ie: try alert(curslide.innerHTML) 
    //i: integer reflecting current image within collection being shown (0=1st image, 1=2nd etc) 
} 
}) 

}); 

当你把光标在地址栏中,点击进入这只是发生。当你点击浏览器的“刷新”按钮时,它可以工作...

此网页将用作Facebook页面上的iframe,因此当您单击另一个应用程序并返回到前一个。

我把代码放在了document.ready函数中,所以我确定每次访问或重新访问页面时,simplegallery都会重新加载,对吗?

+0

尝试使用$(window).load(function(){});而不是document.ready – 2012-02-01 15:16:12

+0

nope,不能正常工作:( – samn 2012-02-01 15:19:28

+0

真的吗?它在IE7中可以正常工作 – 2012-02-01 15:21:15

回答

1

我已经找到了解决方案,通过动态驾驶的家伙:

使用文本只有像记事本编辑器,找到在simplegallery.js文件本节:

代码:

for (var i=0; i<setting.imagearray.length; i++){ //preload slideshow images 
    preloadimages[i]=new Image() 
    preloadimages[i].src=setting.imagearray[i][0] 
    if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length) 
     setting.longestdesc=setting.imagearray[i][3] 
    jQuery(preloadimages[i]).bind('load error', function(){ 
     loadedimages++ 
     if (loadedimages==setting.imagearray.length){ 
      dfd.resolve() //indicate all images have been loaded 
     } 
    }) 
} 

这种替换:

代码:

for (var i=0; i<setting.imagearray.length; i++){ //preload slideshow images 
    preloadimages[i]=new Image() 
    if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length) 
     setting.longestdesc=setting.imagearray[i][3] 
    jQuery(preloadimages[i]).bind('load error', function(){ 
     loadedimages++ 
     if (loadedimages==setting.imagearray.length){ 
      dfd.resolve() //indicate all images have been loaded 
     } 
    }) 
    preloadimages[i].src=setting.imagearray[i][0] 
}