2013-04-11 60 views
2

所以我有一些代碼需要執行,只有當網站的內容被加載,所以我把它放在窗口加載,如下所示:

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

在safari和chrome中工作得很好(我在mac osx 10.8上),但似乎沒有在firefox(19.0.2)上工作。有沒有修復或需要應用的東西,以使Firefox的工作呢?

它可以工作,如果我清除緩存在Firefox中,但不能在任何時間後工作。

+0

可能有些東西搞亂了你的代碼。你使用的是什麼版本的jQuery?你可以發佈你的一些代碼嗎?你需要排除這個問題,而不是馬上假設問題是'$(window).load' jQuery方法... – silentw 2013-04-11 09:30:17

+0

嘗試[this fiddle](http://jsfiddle.net/TwtFR/)來查看是否有用。 – silentw 2013-04-11 09:32:29

+0

@silentw我正在使用jQuery 1.9.1,我認爲小提琴不能在firefox中工作,因爲我在圖像完成加載之前收到警報消息。這太奇怪了,歌劇也有同樣的問題。 – Ilja 2013-04-11 10:19:34

回答

1

你試過嗎window.onload = function(){}

+0

剛剛嘗試過,仍然沒有任何問題,同樣的問題出現在歌劇以及 – Ilja 2013-04-11 10:06:49

0

試試這個。它適用於所有瀏覽器。

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

相同的東西,但是這一個第一次工作我加載一個頁面,我假設它被緩存,然後它不再工作。 – Ilja 2013-04-11 10:13:51

0

只是簡單地做

my_function(){ 
    // some code 
} 

的window.onload =創建my_function

1

櫃面任何人找到谷歌這個網頁...

對我來說,在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 
}; 
+1

「window.onpageshow」與firefox完美合作。謝謝! – train 2017-10-06 00:28:23