我有一些网页,这些网页依靠body.onload
(或等效地,window.onload
)正确设置它们。有时onload
不会被称为。
是否有一些Web浏览器有一个技巧(理想情况下,这显然经常发生)会告诉我到底是什么阻止页面加载成功?
线索:当我敲打F5以重新加载整个页面时,很少发生(甚至可能永远不会发生),但是通常,如果已经到达页面,则会通过单击链接或将URL粘贴到地址栏中。是否有onload
语义的怪癖可能会绊倒我?
n.b。脚本本身没有在控制台中产生任何错误。
我认为您想要window.onload
我已经测试过这样的情况,以下所有情况都无法使用:
var callback = function() { alert("Body loaded"); };
$("body").load(callback);
document.body.addEventListener("load",callback,false);
但是,document.body.onload
似乎正常工作。确保body
正确命名为:
document.body //<body>
body //Reference error
如果您在谈论:
<body onload="callback();"></body>
然后回去查看您的代码,因为它应该起作用。
就个人而言,我建议使用窗口对象的load
事件或Framework的Ready事件。
//Execute when the window is loaded
var callback = function() {
//Your code goes here...
};
if (window.addEventListener) window.addEventListener("load",callback,false);
else window.attachEvent("load",callback);
使用jQuery,您只需要以下内容:
$(window).load(callback);
jQuery的就绪活动如下:
$(document).ready(callback);
//Or just:
$(callback);
mootools使用以下方式:
window.addEvent("domready",callback);
和不同的库都有自己的方式。