觸發我似乎並沒有能夠得到身體的onload =「...」事件時,通過後退按鈕進入該頁面在Safari火。它在FF和IE中正常工作。有沒有Javascript或jQuery解決方案?Safari瀏覽器<body onload>事件不會從後退按鈕
任何幫助表示讚賞。
觸發我似乎並沒有能夠得到身體的onload =「...」事件時,通過後退按鈕進入該頁面在Safari火。它在FF和IE中正常工作。有沒有Javascript或jQuery解決方案?Safari瀏覽器<body onload>事件不會從後退按鈕
任何幫助表示讚賞。
而不是使用<body>
標籤的onload
屬性,可以轉而嘗試使用DOM ready事件使用jQuery,就像這樣:
$(document).ready(function() {
// your code here
});
或者,簡寫:
$(function() {
// your code here
});
即使這並不Safari瀏覽器解決您的問題,它仍然是一般的好做法,因爲它的HTML和Javascript分成容易識別的部分。
嗨安東尼。我剛剛嘗試過,但它也只在FF和IE中觸發。 – 2012-02-10 12:20:49
嘗試:
window.addEventListener("pageshow", function() {
alert('page shown');
}, false);
對於歌劇瀏覽器,閱讀:http://samuli.hakoniemi.net/onload-issues-with-opera/
zvona,感謝我現在給它一個去... – 2012-02-10 12:21:51
Zvona,香港專業教育學院這TREID但沒有任何反應。代碼示例是否適用於我的網站中的剪切和貼圖,即是否有任何事情需要更改? – 2012-02-10 12:27:11
這很好。我用Chrome測試過它,它工作,不知道Safari。 您可以閱讀這篇文章,如果它的任何幫助:http://www.webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/ – zvona 2012-02-10 12:36:17
這是衆所周知的。 Safari和許多其他瀏覽器都會緩存頁面,當您回到頁面時,它們只會恢復以前的狀態。
下面是關於這個話題的好文章MDN(這是關於FF 1.5,但應適用於其他瀏覽器一樣):https://developer.mozilla.org/En/Using_Firefox_1.5_caching
嘗試pageshow
事件像@zvona建議。
嗨,Jan,我有頁面顯示觸發Safari和FF,但不是IE瀏覽器。你知道它是否也應該在那裏工作?如果沒有,我該如何區分瀏覽器以避免doc.ready和pagshow調用該函數兩次? – 2012-02-10 13:44:58
如果不激發onload事件,你應該設置緩存控制。
<head>
<meta charset="utf-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
或在正文中添加一個標籤:
<iframe style=」height:0px;width:0px;visibility:hidden」 src=」about:blank」>
this frame prevents back forward cache
</iframe>
它在Chrome瀏覽器? – 2012-02-10 12:04:29
附加到'onload'事件的代碼是做什麼的?你確定這個活動根本沒有開火,還是隻是沒有做任何可見的事情? – 2012-02-10 12:09:00
Jorge Pinho。我還沒有使用Chrome。仍在瀏覽器上工作... – 2012-02-10 12:11:01