所以我有一些代碼需要執行,只有當網站的內容被加載,所以我把它放在窗口加載,如下所示:
$(window).load(function() {
//some stuff happens
});
在safari和chrome中工作得很好(我在mac osx 10.8上),但似乎沒有在firefox(19.0.2)上工作。有沒有修復或需要應用的東西,以使Firefox的工作呢?
它可以工作,如果我清除緩存在Firefox中,但不能在任何時間後工作。
所以我有一些代碼需要執行,只有當網站的內容被加載,所以我把它放在窗口加載,如下所示:
$(window).load(function() {
//some stuff happens
});
在safari和chrome中工作得很好(我在mac osx 10.8上),但似乎沒有在firefox(19.0.2)上工作。有沒有修復或需要應用的東西,以使Firefox的工作呢?
它可以工作,如果我清除緩存在Firefox中,但不能在任何時間後工作。
試試這個。它適用於所有瀏覽器。
<script type="text/javascript">
window.onload=function(){
alert('do something');
}
</script>
相同的東西,但是這一個第一次工作我加載一個頁面,我假設它被緩存,然後它不再工作。 – Ilja 2013-04-11 10:13:51
只是簡單地做
my_function(){
// some code
}
的window.onload =創建my_function
櫃面任何人找到谷歌這個網頁...
對我來說,在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
};
「window.onpageshow」與firefox完美合作。謝謝! – train 2017-10-06 00:28:23
可能有些東西搞亂了你的代碼。你使用的是什麼版本的jQuery?你可以發佈你的一些代碼嗎?你需要排除這個問題,而不是馬上假設問題是'$(window).load' jQuery方法... – silentw 2013-04-11 09:30:17
嘗試[this fiddle](http://jsfiddle.net/TwtFR/)來查看是否有用。 – silentw 2013-04-11 09:32:29
@silentw我正在使用jQuery 1.9.1,我認爲小提琴不能在firefox中工作,因爲我在圖像完成加載之前收到警報消息。這太奇怪了,歌劇也有同樣的問題。 – Ilja 2013-04-11 10:19:34