当用户试图关闭浏览器标签时,我需要询问他是否要填写调查问题。如果他愿意,它应该将他重定向到谷歌形式,如果他不想,它应该关闭标签。
我尝试了window.onbeforeunload
但是每次点击页面按钮时都会显示确认窗口,但我只是在尝试关闭标签时才会触发它。
有什么建议吗?
答案 0 :(得分:1)
只要用户因任何原因离开您的网页,就会触发beforeunload事件。
jQuery(window).bind(
"beforeunload",
function() {
return confirm("Do you really want to close?")
}
)
答案 1 :(得分:1)
我假设你想要做的是当用户表示有意离开时显示某种弹出窗口。
这可以通过使用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');
};
});