我希望能够检测到用户即将离开页面,在他们点击后退按钮之前做点什么-例如显示弹出窗口。 我不想阻止用户离开页面,只是想再次引起他们的注意。
这已经被Optin Monster实现了,但我想自己实现它。
从哪里开始?
编辑:
beforeunload
在用户单击后退或x按钮后触发。 我想捕获他的退出意图,例如当鼠标移向后退按钮时,但尚未单击它。
我希望能够检测到用户即将离开页面,在他们点击后退按钮之前做点什么-例如显示弹出窗口。 我不想阻止用户离开页面,只是想再次引起他们的注意。
这已经被Optin Monster实现了,但我想自己实现它。
从哪里开始?
编辑:
beforeunload
在用户单击后退或x按钮后触发。 我想捕获他的退出意图,例如当鼠标移向后退按钮时,但尚未单击它。
以下是您可以操作的步骤:
$(document).on('mouseleave', leaveFromTop);
function leaveFromTop(e){
if( e.clientY < 0 ) // less than 60px is close enough to the top
alert('y u leave from the top?');
}
我希望这是你想要的。祝你好运!
我发现这些技术(比如Ouibounce实现的技术或者Hristo Georgiev提出的技术)存在一个问题,就是它们也会在页面加载前检测到鼠标是否在页面外部。这并不是什么大问题,但可能会带来一些不必要的行为。为了使这种解决方案正常工作,必须进行额外的调整。我现在想到的一个方法是使用一个标志来检查鼠标逻辑。
hover
等事件。理论上,您可以尝试根据鼠标指针从文档到浏览器 chrome 的移动(如方向和速度)来猜测,但这很靠不住,在跨浏览器时存在问题,而且最多只能算是 hacky。此外,我只需按下键盘上的BKSP
,就可以实现相同的效果,有效地规避了您的“退出意图”检测。 - Richard Neil Ilagan