Hello Seniors(我是基於Web的應用程序的新手), 我很想實現或捕獲瀏覽器關閉事件。 是的!我做到了,併成功地通過使用javascript(見下面的代碼) 實現它,但我已經在沒有MasterPage的網頁中實現它。 現在,因爲我試圖在MASTERPAGE的網頁中實現它,但在每個帖子後面...事件window.onunload被捕獲,這是給我的問題... 是否有任何技術或邏輯來檢測是否我可以區分關閉瀏覽器按鈕和頁面的回發事件。捕捉瀏覽器關閉事件
請指導我......因爲我必須儘快在項目中實施...... 謝謝。
ANKIT塔瓦
<script type="text/javascript">
function callAjax(webUrl, queryString)
{
var xmlHttpObject = null;
try
{
// Firefox, Opera 8.0+, Safari...
xmlHttpObject = new XMLHttpRequest();
}
catch(ex)
{
// Internet Explorer...
try
{
xmlHttpObject = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(ex)
{
xmlHttpObject = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if (xmlHttpObject == null)
{
window.alert('AJAX is not available in this browser');
return;
}
xmlHttpObject.open("GET", webUrl + queryString, false);
xmlHttpObject.send();
return xmlText;
}
</script>
<script type="text/javascript">
var g_isPostBack = false;
window.onbeforeunload = check()
function check()
{
if (g_isPostBack == true)
return;
var closeMessage =
'You are exiting this page.\n' +
'If you have made changes without saving, your changes will be lost.\n' +
'Are you sure that you want to exit?';
if (window.event)
{
// IE only...
window.event.returnValue = closeMessage;
}
else
{
// Other browsers...
return closeMessage;
}
g_isPostBack = false;
}
window.onunload = function()
{
if (g_isPostBack == true)
return;
var webUrl = 'LogOff.aspx';
var queryString = '?LogoffDatabase=Y&UserID=' + '<%# Session["loginId"] %>';
var returnCode = callAjax(webUrl, queryString);
}
</script>
調查jQuery。你正在做很多不必要的工作。 – Chris 2010-11-24 16:13:56
看看這個[答](http://stackoverflow.com/questions/1824421/detect-browser-close-on-asp-net/1824486#1824486)。 – 2011-12-08 11:46:22