我已經發布了這個here,但認爲它可能值得自己的問題。ASP.NET linkbutton提高onBeforeUnload事件兩次
我想要做的是顯示一個對話框,詢問用戶如果他/她想離開頁面,如果有未保存的更改。這一切都很好。但是,問題描述如下:
有沒有人遇到過Internet Explorer將兩次觸發onbeforeunload事件的問題?在Google上搜索時,我發現它與(其中包含)ASP.NET鏈接按鈕的事實有關,HTML代碼是<a href="javascript: __doPostBack...
。
顯然,當IE遇到沒有href="#"
的鏈接時,它會觸發onbeforeunload事件。然後,當您確認我們正在顯示的javascript對話框時,頁面將執行「真實」卸載以導航到其他頁面,並再次提升onbeforeunload事件。
互聯網上提供的解決方案是設置一個布爾變量並在顯示對話框之前檢查它。所以第二次,它不會被顯示。這很好,但是當用戶取消時,變量仍然會被設置。因此,下次用戶想要離開該頁面時,對話框將不再顯示。
希望這有點清楚,我希望有人找到解決辦法嗎?
我認爲你正在從字面上理解我的答案。我的意思是你想在顯示對話框之前將確認值存儲在你用來檢查的標誌中。我想你會以任何方式:) – annakata 2009-02-13 10:13:12