它的工作原理在IE6,并FireFox;但由于某些原因不在IE7.

使用ASP.NET 在Page_Init我填充名单的章节,连接到图像中的书以及一个javascript列拥有的组.

前。

第1章-->href="javascript:渗(4);"

这里是实际代码,我在使用:


var availablePages = ['1002_001','1002_002','1002_003','1002_004','1002_005'];

function seePage(index) {
    $get('imgSingle').src = 'graphics/loading.gif';
    var img = new Image();
    img.src = 'get.jpg.aspx?size=single&id=' + availablePages[index];
    img.onload = function() {
         var single = $get('imgSingle');
         single.src = img.src;
    }
}

当我按第1章、图像载荷的现全委员会(IE6,7,FF)和击的第二章链接,还工作;然而,在(仅在)IE7并点击的同一章中的两倍(chap1,chap2,然后chap1再次)不像遇到的装'图像...我拔出了我的头发在这里的家伙...

有帮助吗?

解决方案

它造成的,因为IE浏览器会缓存图像,并且它已经被加载后onload事件将永远不会触发。

您需要的SRC之前定位onload事件。

var availablePages = ['1002_001','1002_002','1002_003','1002_004','1002_005'];

function seePage(index) {
    $get('imgSingle').src = 'graphics/loading.gif';
    var img = new Image();
    img.onload = function() {
         var single = $get('imgSingle');
         single.src = img.src;
    }
    img.src = 'get.jpg.aspx?size=single&id=' + availablePages[index];
}

其他提示

这样做的另一种方法是,以检查是否在图像已经加载与image.complete。例如:

var img = new Image();
img.src = 'foo.jpg';
if(img.complete){
    img.onload = function(){ /* ... */ };
} else {
    /* execute something else, or the same. */
}

我已经经历在IE6和7这一行为。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top