询问用户何时尝试关闭浏览器选项卡
Ask user when he is trying to close browser tab
当用户试图关闭浏览器选项卡时,我需要问他是否想填写调查。如果他想,它应该将他重定向到谷歌表单,如果他不想,它只应该关闭选项卡。
我尝试了window.onbeforeunload
,但每次点击页面按钮时都会出现确认窗口,但我只需要在尝试关闭选项卡时触发它。
有什么建议吗?
每当用户出于任何原因离开页面时,beforeunload事件就会触发。
jQuery(window).bind(
"beforeunload",
function() {
return confirm("Do you really want to close?")
}
)
我假设您想要做的是在用户表示要离开时显示某种弹出窗口。
这可以通过使用javascript"mouseout"事件来实现。也就是说,如果鼠标离开浏览器窗口(比如用户关闭一个选项卡、窗口或单击另一个选项卡等),那么您的调查就会被触发。
显然,这并不总是有效的——例如,用户可能试图点击浏览器菜单项,在这种情况下,你的调查将被解雇。我也不相信它会在触摸设备上工作。
但如果你能忍受这些类型的怪癖,这里有你需要的代码。
// Set up an event listener to capture exit intent
function addEvent(obj, evt, fn) {
if (obj.addEventListener) {
obj.addEventListener(evt, fn, false);
}
else if (obj.attachEvent) {
obj.attachEvent("on" + evt, fn);
}
}
// Trigger exit intent on mouseout event
addEvent(document, 'mouseout', function(evt) {
if (evt.toElement == null && evt.relatedTarget == null ) {
console.log('Let's do some magic here');
};
});
相关文章:
- location.reload(true)崩溃浏览器选项卡
- 如何在现有的浏览器选项卡中打开url
- 在用户关闭/更改移动浏览器选项卡之前进行检测
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 询问用户何时尝试关闭浏览器选项卡
- 自动关闭或覆盖通过命令行打开的浏览器选项卡
- 在两个浏览器选项卡之间共享变量范围
- 检查具有特定标题的浏览器选项卡是否已存在
- 如何防止用户使用浏览器选项禁用脚本
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- 当用户关闭浏览器选项卡时,如何使用 PHP 或 javascript 从我的站点注销用户
- 在单击浏览器选项卡上调用 js 函数
- 在 JavaScript 中识别浏览器选项卡的任何方法
- 如何使setInterval在浏览器选项卡处于焦点时运行
- 如何:让javascript在浏览器选项卡更改时运行
- 将键盘和鼠标事件从一个浏览器选项卡发送到另一个
- Node.js,并将数据发送回所有浏览器选项卡
- 如何设置浏览器选项卡's锚定目标名称
- 自定义Div滑块运行过快,但仅当从另一个浏览器选项卡返回时
- 有没有任何方法可以通过编程将浏览器选项卡放在前面(跨浏览器)