我可以跟踪一个新的窗口链接的推荐人

Can I track the referrer of a new window link?

本文关键字:窗口 链接 推荐人 一个 跟踪 我可以      更新时间:2023-09-26

大小写:

  • 站点A包含一个链接,在新窗中打开站点B。
  • 网站B的脚本正在尝试获取网站A的url。

我的问题:是否有任何方法可以跟踪使用target="_blank"或Javascript window.open()函数打开的新窗口的引用?

如果是,那么是否有任何方法可以完全隐藏referrer?

Referrer位于HTTP报头中,因此无论窗口是空白还是新的,它都是可用的。您可以使用

获取URL。
console.log(document.referrer);

有一些网站使用这个功能来保护他们的网站免受点击攻击,所以在链接页面中隐藏引荐人是不合适的。允许引用欺骗的浏览器被认为是不安全的,发现后往往会打补丁。

更新

也许它不像我想的那样不受欢迎。HTML5有一个属性,<a>不发送referrer在HTTP头:rel = "noreferrer" .

IE with window。打开它就失去了推荐人。直接使用jQuery或者不使用jQuery重新编写:

$("<form />").attr("action", "url").attr("target", "_blank").appendTo(document.body).submit();

如果您可以控制两个页面,则像这样打开窗口:

var myWindow = window.open('http://my_url', 'title', 'width=500,height=350,top=100,left=100');
if(!myWindow.opener) myWindow.opener = self;

边注:给窗口一个标题是很重要的,否则IE会自己便便。

在打开的窗口中,您将看到对"opener"的引用:

alert(opener.window.location);

您检查开瓶器位置了吗?如果我没记错的话,它对我很有效。

最好的方法是:

    var myWindow = window.open('', 'title', 'width=500,height=350,top=100,left=100');
myWindow.location.href = 'redirect.asp';

希望对大家有帮助