Hallo Senioren (wie ich bin neu in Web-basierten Anwendungen), Ich war daran interessiert, Browserabschluss Veranstaltung zu implementieren oder zu erfassen. Ja! Ich habe es getan und es erfolgreich implementiert, indem ich Javascript {siehe Code unten} benutze, aber ich habe es in einer Webseite ohne MasterPage implementiert. Nun, wie ich versuche, es in einer Webseite mit MASTERPAGE zu implementieren, aber in jedem Post zurück ... das Ereignis window.onunload wird abgefangen, was mir Probleme gibt ... Gibt es irgendeine Technik oder Logik, um festzustellen, ob ich kann zwischen einer Schließen-Schaltfläche und dem Post-Back-Ereignis einer Seite unterscheiden.Catching ein Browser schließen Ereignis
Bitte führen Sie mich ... wie ich in einem Projekt so schnell wie möglich zu implementieren .... danke.
Ankit Srivastava
<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>
Schauen Sie in jquery. Du machst eine Menge unnötiger Arbeit. – Chris
Schauen Sie sich dies an (http://stackoverflow.com/questions/1824421/detect-browser-close-on-asp-net/1824486#1824486). –