gpt4 book ai didi

javascript - image.onload 在 IE7 中不触发两次

转载 作者:搜寻专家 更新时间:2023-11-01 04:55:52 24 4
gpt4 key购买 nike

它适用于 IE6 和 FireFox;但出于某种原因不在 IE7 中。

在 Page_Init 上使用 ASP.NET 我填充了一个章节列表,这些章节是指向书中图像的链接以及一个保存页面 ID 的 Javascript 数组。

例如

第 1 章 --> href="javascript:seePage(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)上都可以正常加载,并且单击第 2 章链接也可以;但是,在(并且仅在)IE7 中,两次单击同一章节(第 1 章、第 2 章,然后再次第 1 章)图像是否卡在“正在加载”图像上...

最佳答案

这是因为 IE 会缓存图片,onload 事件在图片已经加载后永远不会触发。

您需要将 onload 事件放在 src 之前。

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];
}

关于javascript - image.onload 在 IE7 中不触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com