2012-12-24 45 views
1

我怎麼叫,而用戶試圖要麼通過導航到另一個頁面或通過改變URL離開頁面的事件設置警報? 我試過下面的方法,但它不工作。希望在頁面網址變更

protected void Page_Unload(object sender, EventArgs e){} 

protected override void OnUnload(EventArgs e){} 

感謝,

+0

你應該使用這個 –

回答

3

您可以使用jquery中的bind屬性。如果你想忽略警告,可能會有一點,要做到這一點,只需創建一個變量並在需要忽略警告時進行設置。

附上JQuery library

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

那之後,你可以在下面的JavaScript添加到您的網頁。

<script type="text/javascript"> 
var ignore = false; 

$(function() { 
    $(window).bind('beforeunload', function() { 
     if (!ignore) { 
      return 'WARNING: Data you have entered may not be saved.'; 
     } 
    }); 

    $('.ignorepostback').live('click',function() { 
     ignore = true; 
    }); 
}); 
</script> 
+0

我在執行上面的代碼時遇到以下錯誤 - 「Microsoft JScript運行時錯誤:屬性'$'的值爲空或未定義,而不是函數對象」 – Diboliya

+1

您需要添加Jquery庫,我編輯帖子以反映那。 – nerdybeardo

+1

如果你用css class ignorepostback添加一個鏈接到你的頁面,它將會觸發該函數。所以如果你有一個鏈接,當有人點擊它時,你只是想忽略,讓他們只是添加類ignorepostback。 Click Here nerdybeardo

1

你水溼做服務器端。

您可以嘗試通過掛鉤的窗口的卸載事件來實現一些客戶方的例子。或者通過jQuery中使用unload handler

$(window).unload(function() { 
    alert('Do not bug users with alerts or try to keep them on your site'); 
}); 

請記住,一般用戶不喜歡webistes這個bug他們時,他們決定離開......

1

通過JavaScript,您可以使用onbeforeunload

window.onbeforeunload = function(e) { 
    return 'Dialog text here.'; 
}; 
+1

的JavaScript這是檢查用戶確實想離開頁面的更正確的(因爲它是)方法。它實現了內置於瀏覽器中的功能(請參閱https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeunload)。我想這個選項不太可能被廣告攔截軟件攔截。 – jaypeagi

相關問題