[英]Repeating alert “Message from web page: null” in IE
我正在使用下面的jQuery代碼來啟動疊加div,它在Chrome和Firefox中運行良好 - 但在IE9中它會啟動一個窗口“你想離開這個頁面嗎?” 並且還說“來自網頁的消息:null”。 在此之后點擊的每個鏈接上都會出現窗口,直到您通過注銷結束會話(這是一個基於Codeigniter的應用程序)
任何有關可能導致這種情況的見解都將非常感激。
編輯:違規代碼是:
window.onbeforeunload = function(){saveFormData(); 返回false; }
我不知道你頁面中的確切問題在哪里,但我相信你已經遇到了IE
的歡樂和onbeforeunload
事件。
在Internet Explorer中,它將所有導航鏈接點擊視為“離開”頁面,因此如果您定義了onbeforeunload事件,您將收到確認消息(假設您的代碼或CodeIgnitor框架附加了處理程序)
問題是像這樣的鏈接:
<a href="javascript:doSomething();">Do something on this page without leaving</a>
將觸發IE以確認用戶正在離開頁面。
我解決這個問題的方法是做以下事情(丑陋但是有效)。
在我的小頁面(一個彈出窗口)4-5鏈接上的“內部”頁面我添加了一個CSS類: class="internal"
然后在我的onbeforeunload
事件中我會檢查是否觸發源元素這個活動有班級設定......如果是這樣的話,“忽略”就會把我的“你確定要離開嗎?” 類型警告......
然而,在一個“主要”頁面上,有100個和100個鏈接,這將是非常難看的嘗試和實現。 - 祝你好運。
來自Scunliffe的回答幫助我以下列方式解決了這個問題 -
在我的所有JavaScript代碼的末尾添加了以下行。
window.onbeforeunload = function(){}
如果想要進行快速測試,可以在IE Developer Tools的控制台部分嘗試此操作。
我再次不確定這將如何影響代碼中的內容。 如果有任何問題被破壞,請正確測試所有代碼。 將中斷的代碼可能與附加到頁面卸載或onbeforeunload事件的任何偵聽器相關。 在我的情況下,沒有任何:)
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.