Hello Seniors (так как я новичок в веб-приложениях),
Я был заинтересован, чтобы реализовать или поймать событие закрытия браузера.
Да! Я сделал это и успешно реализовал его с помощью JavaScript {см. Код ниже}
но я реализовал это на веб-странице без MasterPage.
Теперь, когда я пытаюсь реализовать это на веб-странице с MASTERPAGE, но в каждом посте назад ... происходит событие window.onunload, которое вызывает у меня проблемы ...
Существует ли какая-либо техника или логика, позволяющая определить, могу ли я различить кнопку «Закрыть браузер» и событие обратной публикации страницы.
Пожалуйста, ведите меня ... как я должен реализовать в проекте как можно скорее ....
спасибо.
Анкит Шривастава
<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>