当用户在 Javascript/AngularJS 中离开我的网站时,如何提示一个模式?

How do I prompt a modal when the user leaves my website in Javascript/AngularJS?

AngularJS 或 Javascript 是否有方法检测用户正在离开我的网站(可能是关闭他的浏览器或进入另一个页面)并提示一个模式? 在这个模式中,我想问用户他为什么要离开。

另外,有这样的东西可以吗?我的网站会因为这个“烦人的功能”而被列入黑名单吗?

使用 Angular 使用

$scope.$on("$locationChangeStart",function(){
     //do your stuff here
});

检测用户何时离开页面。

如果您使用 alert('your message');,浏览器可能会给用户一个选项来阻止来自您网站的提醒。

为了防止不需要的弹出窗口,现代浏览器严格限制 JavaScript 在页面卸载前可以执行的操作。

来自文档:

Window: beforeunload event

The beforeunload event is fired when the window, the document and its resources are about to be unloaded. The document is still visible and the event is still cancelable at this point.

This event enables a web page to trigger a confirmation dialog asking the user if they really want to leave the page. If the user confirms, the browser navigates to the new page, otherwise it cancels the navigation.

有关详细信息,请参阅