Javascript 询问用户何时尝试关闭浏览器选项卡
当用户试图关闭浏览器选项卡时,我需要问他是否要填写调查的问题。如果他想,它应该将他重定向到谷歌表单,如果他不想,它应该关闭标签 我尝试了Javascript 询问用户何时尝试关闭浏览器选项卡,javascript,jquery,ruby-on-rails,web,browser,Javascript,Jquery,Ruby On Rails,Web,Browser,当用户试图关闭浏览器选项卡时,我需要问他是否要填写调查的问题。如果他想,它应该将他重定向到谷歌表单,如果他不想,它应该关闭标签 我尝试了窗口。onbeforeunload但每次单击页面按钮时都会弹出确认窗口,但我只需要在尝试关闭选项卡时触发确认窗口 有什么建议吗?每当用户出于任何原因离开您的页面时,beforeunload事件就会触发 jQuery(window).bind( "beforeunload", function() { return confir
窗口。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');
};
});
@8质子我尝试了
窗口。onbeforeuload
但每次点击页面按钮时都会弹出确认窗口可能重复关闭选项卡/窗口时没有特定事件。您可以得到的最好结果是,用户单击页面按钮时,beforeunload
会触发,但我需要仅在尝试关闭选项卡时才会触发。