$(window).load似乎在firefox中不起作用

时间:2013-04-11 09:26:37

标签: javascript jquery firefox

所以我有一些代码只有在加载网站内容时才需要执行,所以我将它放在窗口加载中,如下所示:

$(window).load(function() { 
   //some stuff happens
});

在safari和chrome中工作得很好(我在mac osx 10.8上),但似乎没有在firefox(19.0.2)上工作。是否有一个修复或需要应用的东西才能使firefox与它一起工作?

如果我在firefox中清除缓存,它会起作用,但在此之后不能正常工作。

5 个答案:

答案 0 :(得分:1)

你试过window.onload = function(){}

吗?

答案 1 :(得分:1)

请其他人在Google上找到此页面...

对我来说,以下内容适用于Firefox:

$(window).load(function() {
    //Do something
});

但是当页面被缓存时,例如单击后退按钮时,$(window).load()不再被调用。有关错误报告,请参阅this。这是Firefox的预期行为,所以不要指望修复。

要解决此问题的两件事要么是在使用此代码(除了$(window).load()代码之外)点击后退按钮时停止浏览器缓存页面:

window.onunload = function(){}; //This forces bfcache to not cache the page

或者使用其他jQuery事件而不是$(window).load()

window.onpageshow = function () {
    //Do something
};

答案 2 :(得分:1)

如果您使用jQuery。使用jQuery事件:

$(document).ready(function(){
    // YOUR CODE
});

答案 3 :(得分:0)

试试这个。它在所有浏览器中都有效。

<script type="text/javascript">
window.onload=function(){
    alert('do something');  
}
</script>

答案 4 :(得分:0)

只是简单地做

my_function(){
    // some code
}

window.onload = my_function