诊断body.没有打电话



我有一些网页,这些网页依靠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);

和不同的库都有自己的方式。

最新更新