1

是否可以跟踪离开或访问其他站点的访问者,例如仅在他们想要移动到其他站点或其他域名时才提出问题?我写这段代码

<script language="JavaScript">
  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
    return "leave?";
  }
</script>

但是即使在我自己的页面上,这段代码也每次都有效。我想让这个代码在访问者通过提示 URL(不是通过链接)访问另一个域时运行。可能吗?谢谢

4

3 回答 3

2

我认为这是浏览器插件的任务,而不是页面脚本。JS 不可能知道用户在页面外做了什么。

如果这是可能的,那将是一个全新的安全问题,一个隐私问题,而且我不会访问你的网站。

于 2012-05-12T12:27:46.090 回答
0

正如你在这个问题中标记了 jquery 我猜你已经在使用 http://jquery.com/

<script language="JavaScript">
  $(document).ready(function(){
       $("a").click(function(){
       if( fnGetDomain(document.location) == fnGetDomain($(this).attr("href")) )
       {
            return true;
       }
       else{
            return confirm("Leave page?");
       }

   });
});
function fnGetDomain(url) {
  return url.match(/:\/\/(.[^/]+)/)[1];
}
</script>

如果有任何问题document.location.href,您可以使用document.location

于 2012-05-12T11:41:48.887 回答
0

我在这里尝试了一个东西,不确定它是否适用于所有情况......

window.onbeforeunload = confirmExit;

function confirmExit(event)
{
    console.log(event);
    console.log("Current : " + event.srcElement.domain);
    console.log("Target : " + event.target.domain);
    if (event.srcElement.domain != event.target.domain)
    {
        return "leave ?";
    }
    else
    {
        // staying here
    }
}​
于 2012-05-12T11:59:19.530 回答