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