Javascript 如何使用jQuery检查我将离开到另一个网站?

Javascript 如何使用jQuery检查我将离开到另一个网站?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我想在用户离开我们的网站时,在浏览器的同一选项卡内显示警报。我搜索并找到了unload事件,每当用户离开或单击我们的网站链接时都会触发该事件 例如,我在abc.com,当我点击我的网站链接时,我不能得到警告框。但是当我在地址栏中写xyz.com时,我必须有一个警告框。我现在看到了你的问题,答案是否定的,你不能这样做,你可以在你的域中的页面上做任何事情,你可以完全控制它,但你无法检测到你要进入不同的域,只是不可能,浏览器的行为,如果另一个站点没有你的脚本,你就失去了对浏览器的控制 例如,任何时候如

我想在用户离开我们的网站时,在浏览器的同一选项卡内显示警报。我搜索并找到了
unload
事件,每当用户离开或单击我们的网站链接时都会触发该事件


例如,我在abc.com,当我点击我的网站链接时,我不能得到警告框。但是当我在地址栏中写xyz.com时,我必须有一个警告框。

我现在看到了你的问题,答案是否定的,你不能这样做,你可以在你的域中的页面上做任何事情,你可以完全控制它,但你无法检测到你要进入不同的域,只是不可能,浏览器的行为,如果另一个站点没有你的脚本,你就失去了对浏览器的控制


例如,任何时候如果浏览器加载脚本,您都可以控制,一旦它转到其他站点,浏览器卸载脚本,您可以做什么?但是,如果加载了脚本,您可以随时检查当前路径/域。

您确实可以使用卸载事件。缺少的是当用户点击你自己的链接时导航离开

这可以通过在所有链接上添加一个单击处理程序来实现,该处理程序设置一个全局标志(例如,
userClicked=true
),该标志可在卸载处理程序中使用

示例():


离开当前页面时会触发
onbeforeuload
事件,但是您所需要的(您可以通过它检测用户是否正在离开您的站点)是不可能的,因为无论目的地如何,它都会为每个页面触发。我已经阅读了这篇文章。。。它不告诉我是否要离开到不同的域你可以检查用户是否点击了锚重定向到其他域,但你不能检查他是否使用地址栏导航到其他域可能重复这是OP说他正在做的。他的问题是,它对每个页面都会触发,而不仅仅是在离开他的站点时。你的
change domain
代码片段用于处理iframe
return“你确定要离开吗?”正确的回答是,是的,我再也不会回到这个网站了。你们同意吗,OP的要求没有可靠的解决方案?@KevinSimple是的,如果我取消了所有OP的要求,就没有解决方案
var userClicked = false;
$( "body" ).delegate( "a", "click", function() {
    userClicked = true;
});

window.onbeforeunload = function() {
    if (!userClicked) {
        return "Your message";
    }
}