这段代码是一个更大的脚本的核心,它在几乎所有浏览器中都运行良好。然而它在IE中不起作用。所以我把它剥离下来,发现 image.onload 没有在 IE 中触发。
我已经进行了一些研究,并防止它成为图像缓存问题。一方面,在缓存任何内容之前第一次发生错误,更重要的是,onload 事件附加在 src 之前。
我也有理由确定我正在以与 IE 兼容的方式附加 onload 事件,那么给出了什么,为什么我没有收到警报?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function generate(){
var imageGen = document.createElement("img");
imageGen.setAttribute('onload',"primer()");
imageGen.setAttribute('src', "http://www.google.co.uk/images/srpr/logo3w.png");
document.getElementById('image').appendChild(imageGen);
}
function primer() {
alert("here now");
}
</script>
</head>
<body onload="generate()">
<div id="image">
</div>
</body>
</html>
我在这里托管一个版本
不幸的是,我只能访问 IE8,所以我不知道它是否在其他版本中仍然存在,即使它需要修复。