我的加载事件并不总是在Safari上的safari或chrome中触发(safari版本7.0.5,chrome版本43.0.2357.124)。它在firefox和我的任何Windows浏览器中都可以正常工作。
x
这两个功能都会触发,或者都没有。
有人知道这里发生了什么吗?
感谢您的帮助。
答案 0 :(得分:2)
由于JS是在一个单独的文件中,我可以想象,当它运行时,load
事件已被触发。
但是,您可以使用document.readyState
检测到这一点(另请参阅this question)
它有三个可能的值:
loading
- 解析仍在进行中interactive
- 解析已完成,但资源正在加载complete
- pasing已完成,资源已加载我建议你检查document.readyState == 'complete'
是否运行你的代码,否则注册一个事件监听器:
~function()
{
var loadJS = function()
{
alert("loaded js");
};
var loadJQ = function()
{
alert("loaded jquery");
};
if(document.readyState == 'complete')
{
loadJS();
loadJQ();
}
else
{
window.addEventListener('load', loadJS, false);
$(window).bind('load', loadJQ);
}
}();