[英]The window.onload event is not firing in IE8
我精简了这个javascript,使其尽可能简单,但仍无法在IE8中使用。
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload !== 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
};
}
}
function callkits() {
alert('Kits: Bug testing');
}
//addLoadEvent(callkits);
//window.onload = callkits;
window.onload = function() {
callkits();
};
在IE8中,这两种注释掉的方法或活动方法均无法执行任何操作。 启用了Javascript。 (在函数外部直接调用alert
确实有效。)我在这里扯头发。
编辑:
好的,现在更简单了:
alert('Before onload.')
window.onload = function() {
alert('Onload');
};
alert('After onload');
在Firefox,Opera,Safari和Chrome中,我得到“加载前”,“加载后”,然后显示页面,然后显示“加载”。 在IE8中,最后一步不会发生。 window.onload
根本不触发。
如果使用HTML defer
命令调用另一个脚本,则标准的onload事件将不起作用。
<script for="window" event="onload" defer="1">products.related();</script>
将上面的内容更改为使用标准的addLoadEvent()
函数即可使其正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.