讓我說我有兩頁。其中一個包含iframe中的另一個。如果您在父頁面上訂閱了onbeforeunload事件,則當iframe處於焦點時關閉標籤頁時,此事件不會觸發。我想這是一個錯誤寫在這裏: Google Chrome issues谷歌鉻onbeforeunload與iframe的錯誤行爲
但我提到,例如,谷歌文檔處理這種情況。誰能給我一個解決方案? 重要提示我沒有對iframe內容的實際訪問,因爲它是第三方html編輯器(所見即所得)。
讓我說我有兩頁。其中一個包含iframe中的另一個。如果您在父頁面上訂閱了onbeforeunload事件,則當iframe處於焦點時關閉標籤頁時,此事件不會觸發。我想這是一個錯誤寫在這裏: Google Chrome issues谷歌鉻onbeforeunload與iframe的錯誤行爲
但我提到,例如,谷歌文檔處理這種情況。誰能給我一個解決方案? 重要提示我沒有對iframe內容的實際訪問,因爲它是第三方html編輯器(所見即所得)。
我知道這是一個老問題,但只是爲了幫助人們誰是未來這裏通過搜索:
bug是fixed by now here。
由於chrome 10的問題應該修復。
因此,簡而言之,如果你仍然不能火「onbeforeunload
」在框架上,它可能是由於通過JavaScript喜歡在內容改變document.open
document.write
document.close
等
下面的代碼將在所有的工作瀏覽器
if (typeof window.addEventListener != 'undefined') {
window.addEventListener('beforeunload', test, false);
}
else if (typeof document.addEventListener != 'undefined') {
document.addEventListener('beforeunload', test, false);
}
else if (typeof window.attachEvent != 'undefined') {
window.attachEvent('onbeforeunload', test);
}
else {
if (typeof window.onbeforeunload == 'function') {
window.onbeforeunload = function() {
test();
};
}
else {
window.onbeforeunload = test;
}
}
function test(){ alert('working');}
試試這個曾經...
這對最近的Chrome版本仍然無效(只是嘗試了18.0)。 – 2012-05-13 12:20:59
仍然沒有工作對我來說無論是在Chrome V40 – spyter 2015-02-03 14:40:35
你也可以嘗試改變iframe的網址爲 「about:空白」,例如:
$("#myFrameId")[0].src = "about:blank";
它強制使用chrome「乾淨地」關閉iframe中包含的窗口。
僅舉:如果你想關閉只是你的iframe,但不是父窗口,你得給鉻足夠的時間來執行你連接到「onbeforeunload」的處理程序。
您是否嘗試訂閱iframes onbeforeunload事件? – barkmadley 2009-10-24 02:49:25
是的。但是,它沒有任何影響。 – Vetragon 2009-10-28 07:51:43
任何人都有這方面的更新? – Chris 2010-09-24 13:39:52