如何使用ASP.NET检测页面关闭事件
how to detect the Page Close Event with ASP.NET
我有一个ASP。. NET web应用程序与MasterPage和内容页,从MasterPage当我点击一个MenuItem
打开一个新的aspx页。如果我想关闭新的页面浏览器选项卡,我想显示一个弹出窗口或一个对话框,提醒用户他正在关闭浏览器选项卡。我不知道如何检测关闭browserTab按钮。我在新的aspx页面中使用了以下代码:
<script type="text/javascript">
function CloseWindow() {
alert('closing');
window.close();
}
</script>
新页面代码:
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "closePage", "window.onunload = CloseWindow();");
}
谢谢优势。
效果很好。
javascript检测浏览器关闭选项卡/关闭浏览器
<body onbeforeunload="ConfirmClose()" onunload="HandleOnClose()">
var myclose = false;
function ConfirmClose()
{
if (event.clientY < 0)
{
event.returnValue = 'You have closed the browser. Do you want to logout from your application?';
setTimeout('myclose=false',10);
myclose=true;
}
}
function HandleOnClose()
{
if (myclose==true)
{
//the url of your logout page which invalidate session on logout
location.replace('/contextpath/j_spring_security_logout') ;
}
}
我自己有很多问题,唯一有效的是:"窗口。Onbeforeunload"事件,但问题是这得到执行比你期望的要多得多。所以基本上,如果你使用一个母版页面等,我认为这是不可能做到的。
我认为你最好试着用不同的方式来处理这个问题,否则你的结束信息会经常出现。
你可以在你的页面中使用javascript处理这个问题。
首先创建一个函数:
function closeMessage() {
return "Are you sure you want to leave this page";
}
之后赋值这个方法:
window.onbeforeunload = closeMessage;
请告诉我是否有帮助
您需要捕获关闭浏览器的事件,并使用它来做任何您想做的事情。下面是为我工作的代码。
<script type="text/javascript">
window.onbeforeunload = function (e) {
var e = e || window.event;
if (e) e.returnValue = 'Browser is being closed, is it okay?';//for IE & Firefox
return 'Browser is being closed, is it okay?';// for Safari and Chrome
};
</script>
如果我得到你正确,你想知道当一个选项卡/窗口有效关闭。在Javascript中检测这种东西的唯一方法是onunload &onbeforeunload事件。当您通过链接或浏览器后退按钮离开站点时,也会触发这些事件。这是我能给出的最好答案,我不认为你能在Javascript中检测到纯关闭。如果我说错了请指正。你可以通过browser-tab-close-detection-using-javascript-or-any-other-language
相关文章:
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- 检测演示者工具的事件,类似于onmousedown
- 检测window.opener窗口刷新事件
- 检测“;animationend”;链接动画集的事件
- 在离子2中,有任何方法可以将涡旋动量作为一个事件来检测
- 如何识别“;输入“;没有浏览器检测的事件
- 当pswp库关闭时,Photoswipe.js检测到事件
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- 在onkeyup事件中未检测到文本区域更改
- 检测打印(非打印预览)事件
- 在聊天窗口中检测链接单击事件
- 检测单击子节点并发送槽事件处理程序
- 鼠标滚轮事件检测目前在 Firefox 中不起作用
- 使用 JQuery 事件检测特定的 CSS 关键帧动画
- Paper.js:hitTest通过鼠标事件检测被阻挡的项目
- jQuery / Javascript事件检测页面更改取消
- Cordova滑动事件检测选项为Android, iOS和Windows平板电脑
- 关闭日期拾取器的Angular事件检测
- 函数表达式/事件检测在 ie<=9 或 Safari 中不起作用
- 通过鼠标事件检测移动设备