- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发 asp.net mvc 应用程序。我遇到了需要检测用户是否单击了关闭选项卡或浏览器的场景。我得到了下面的脚本,但当用户提交表单时也会调用该脚本。例如在提交按钮上。我需要可以在关闭选项卡或浏览器时运行的脚本。
脚本
(function($) {
var refreshKeyPressed = false;
var modifierPressed = false;
var f5key = 116;
var rkey = 82;
var modkey = [17, 224, 91, 93];
// Check for refresh keys
$(document).bind('keydown',function(evt) {
// Check for refresh
if (evt.which == f5key || window.modifierPressed && evt.which == rkey) {
refreshKeyPressed = true;
}
// Check for modifier
if (modkey.indexOf(evt.which) >= 0) {
modifierPressed = true;
}
});
// Check for refresh keys
$(document).bind('keyup', function(evt) {
// Check undo keys
if (evt.which == f5key || evt.which == rkey) {
refreshKeyPressed = false;
}
// Check for modifier
if (modkey.indexOf(evt.which) >= 0) {
modifierPressed = false;
}
});
$(window).bind('beforeunload', function(event) {
var message = "not refreshed";
if (refreshKeyPressed) {
message = "refreshed";
}
event.returnValue = message;
return message;
});
}(jQuery));
$(window).bind('beforeunload', function(e) {
return "If you close the window, your application with still be running. If you wish to stop the application, click 'cancel' and "
});
最佳答案
您应该使用onbeforeunload
。
An event that fires when a window is about to unload its resources. The document is still visible and the event is still cancelable.
window.onbeforeunload = function (e) {
return 'Dialog text here.';
};
文档:https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
编辑
使用on
而不是bind
。您正在使用 bind
在元素上附加事件。
$(window).on('beforeunload', function(e) {
return "If you close the window, your application with still be running. If you wish to stop the application, click 'cancel' and "
});
EDIT-2
submit
按钮将提交表单并刷新页面,除非您已阻止此操作。如果您想防止这种情况发生,您应该preventDefault
提交表单或添加对unload
事件的检查。
var submitting = false;
$('form').submit(function (e) {
submitting = true;
...
});
$(window).bind('beforeunload', function (e) {
if (!submitting) {
return "If you close the window, your application with still be running. If you wish to stop the application, click 'cancel' and "
}
return false; // Prevent the alert box
});
关于javascript - 检测关闭选项卡或浏览器脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30207387/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!