gpt4 book ai didi

javascript - 捕获浏览器关闭事件

转载 作者:行者123 更新时间:2023-11-30 13:37:22 27 4
gpt4 key购买 nike

你好,前辈们(因为我是基于 Web 的应用程序的新手),我热衷于实现或捕捉浏览器关闭事件。是的!我做到了,并通过使用 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>

最佳答案

没有区分浏览器关闭和用户导航到另一个页面(通过后退/前进按钮、单击链接或任何其他导航方法)的 javascript 事件。您只能知道当前页面何时被卸载。话虽如此,我不确定您为什么甚至需要知道其中的区别?对我来说听起来像是 XY 问题。

关于javascript - 捕获浏览器关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4268866/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com