是否可以跟踪离开或转到其他网站的访问者, 喜欢只在他们想要移动到其他网站或其他域名时才提出问题?我写这段代码
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
return "leave?";
}
</script>
但是这个代码每次都在我自己的页面上工作。如果访问者通过tiping URL(不是链接)访问另一个域,我想让这个代码运行。可能吗?谢谢
答案 0 :(得分:2)
我认为这是浏览器插件的任务,而不是页面脚本。 JS不可能知道用户在页面外做了什么。
如果可能,这将是一个全新的安全问题,一个隐私问题,我将不会访问您的网站。
答案 1 :(得分: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
答案 2 :(得分: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
}
}