案例:
- 网站A包含一个链接,点击后会在新窗口中打开网站B。
- 网站B中的脚本尝试获取网站A的URL。
我的问题是:有没有办法追踪使用 target="_blank"
或JavaScript window.open()
函数打开的新窗口的引荐来源?
如果可以,是否有任何方法完全隐藏引荐来源?
案例:
我的问题是:有没有办法追踪使用 target="_blank"
或JavaScript window.open()
函数打开的新窗口的引荐来源?
如果可以,是否有任何方法完全隐藏引荐来源?
Referrer 在 HTTP 头中,因此无论窗口是否为空或新建,都将可用。您可以通过以下方式获取 URL:
console.log(document.referrer);
<a>
可以在HTTP头中不发送引荐者:rel = "noreferrer"
。使用window.open打开链接时,IE浏览器会丢失referer信息。可以使用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';
我希望它有用