如何检测用户有关退出页面的信息?

Tza*_*ach 12 html javascript jquery back

我想检测用户何时即将退出页面,然后再单击后退按钮,然后执行某些操作 - 例如显示弹出窗口.我不想阻止用户离开页面,只是为了再次引起他们的注意.

这已经由Optin Monster完成,但我想自己实现它.

从哪儿开始?

编辑: 在用户单击后退或x按钮beforeunload触发.我想抓住他的退出意图,例如当鼠标朝后退按钮移动时,但是在它被点击之前.

A. *_*lff 20

Ouibounce这样做.这里有现场演示.

npm install ouibounce
Run Code Online (Sandbox Code Playgroud)

然后:

var ouibounce = require('ouibounce');
var modal = document.getElementById('ouibounce-modal')
ouibounce(modal);
Run Code Online (Sandbox Code Playgroud)


Hri*_*iev 18

这是你如何做到的:

$(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?');
}
Run Code Online (Sandbox Code Playgroud)

我希望这就是你要找的东西.祝好运!


Ern*_*egi 5

我发现这些技术(例如在Ouibounce上实现的一种技术或Hristo Georgiev提出的一种技术)的问题在于,如果在页面加载之前光标位于页面外部,它们还会检测鼠标何时进入窗口。没什么大不了的,但是它可能带来不良行为。为了使此解决方案正常工作,必须进行额外的调整。我想到的一件事就是使用一个标志来检查鼠标逻辑。