我发现很多代码来检测浏览器的关闭按钮,但是在调用close选项卡时我得到了一个事件.我只想获得主关闭按钮事件以提醒用户是否留在此页面中.我找到了这段代码.
<script type="text/javascript">
window.onbeforeunload = function (evt){
var message = 'Are you sure you want to leave?';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
} return message;
}
</script>
Run Code Online (Sandbox Code Playgroud)
它会提醒用户在单击选项卡关闭时关闭或停留.
现在,我想检测主浏览器关闭事件.由于发现close事件也用于标签关闭.
任何人都可以帮我解决这个问题吗?
浏览器级事件不能直接用于页面级JavaScript.某些事件具有从浏览器到页面的等价物,而有些事件则没有.这是出于安全考虑.
关闭浏览器的选项卡是浏览器级事件.该页面被通知unload正在发生事件.该页面不知道我们是否正在经历"刷新",或"导航到另一个链接",或者该选项卡是否已关闭,或者整个浏览器是否已关闭或某些浏览器插件是否已崩溃.
页面卸载事件也不知道在卸载时是否还有更多打开的窗口/选项卡.有些浏览器甚至可能没有标签(或窗口)的概念.浏览器级别事件是浏览器开发人员和插件开发人员关心的问题.页面级事件是您关注的问题.
可以捕获单击事件,并且可以抑制默认(页面导航)行为并替换为完全不同的行为.
大多数unload事件都是限制性的,它们不允许您替换默认行为,它们只允许您询问用户是否要通过确认对话框离开或停留(具有一些可配置的标题/文本但不包含html).如果用户拒绝您,则无法再控制该页面 - 完成,终止,选项卡将关闭.
如果您想确保用户不通过导航链接或提交表单去任何地方,那么您需要捕获每个相应的事件.关闭标签和窗口不是你的问题.
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |