因此,使工作的門戶網站。老闆要我登錄用戶,如果他們離開頁面。發現這個教程:http://kbeezie.com/cross-browser-exit-pop/導航離開腳本不工作
我使用jQuery的例子並將其插入到一對夫婦的頁面來測試它。我正在使用asp.net/C#進行開發。下面是頁面的基本佈局,包括我的腳本:
<%@ Page ... %>
<asp:Content .. > </asp:Content>
<asp:Content .. >
//my navigate away function
<script type="text/javascript">
function PopIt() {
return "Are you sure you want to leave?";
}
$(document).ready(function() {
window.onbeforeunload = PopIt;
$("a").click(function() { window.onbeforeunload = null; });
});
</script>
<div>
<table></table>
//other stuff
</div>
</asp:Content>
當我點擊我們的門戶網站的鏈接,該導航離開腳本,但它不會彈出,因爲我們點擊一個內部鏈接。但是,如果我一直在網站上進行瀏覽,最終點擊2或3次點擊內部鏈接後,它會詢問我是否確定要離開。誰能告訴我爲什麼會發生這種情況?
編輯:我們在每一頁上的jQuery引用的,所以這不是問題。
編輯:這裏有一個JSFiddle的作品。當你點擊鏈接時,什麼也沒有發生,但是當你離開它時會提示。
我不知道爲什麼你得到你所描述的問題,但我看不出這些代碼將如何應對你離開門戶網站。它將使*每個*鏈接刪除'onbeforeunload'處理程序,無論是否本地。 – Archer
我們的頁面沒有鏈接到外部網站的任何鏈接,這就是爲什麼這個解決方案適合我們的原因,因爲它捕捉了一切(去Google,關閉瀏覽器等) – ToastyMallows
觸發卸載的鏈接最終發生在不是假設的情況下,在母版頁內容中呈現的鏈接或不同的頁面呈現? – Casey