案例:
我的问题:有没有办法跟踪使用target="_blank"
或Javascript window.open()
功能打开的新窗口的引荐来源?
如果是,那么有没有办法完全隐藏推荐人?
答案 0 :(得分:5)
Referrer位于HTTP标头中,因此无论窗口是空白还是新建,它都可用。您可以使用以下网址获取网址:
alert(document.referrer);
有些网站使用此功能来保护自己的网站免受click-jacks等攻击,因此将引荐来源隐藏在链接页面中是不合适的。允许referrer spoofing的浏览器被认为是不安全的,并且在找到时往往会进行修补。
也许它并不像我想象的那样皱眉。 HTML5有<a>
的属性,无法在HTTP标头中发送引荐来源:rel = "noreferrer"
。
答案 1 :(得分:4)
使用window.open的IE它失去了引用者。只需使用jQuery或重新编写它而不使用jQuery:
$("<form />").attr("action", "url").attr("target", "_blank").appendTo(document.body).submit();
答案 2 :(得分:2)
如果你控制了两个页面,就像这样打开窗口:
var myWindow = window.open('http://my_url', 'title', 'width=500,height=350,top=100,left=100');
if(!myWindow.opener) myWindow.opener = self;
旁注:给窗口一个标题很重要,否则IE会自行停止。
在打开的窗口中,您将引用“开启者”:
alert(opener.window.location);
答案 3 :(得分:0)
您是否检查了开场白位置?如果我没记错的话,它对我有用。
答案 4 :(得分:-1)
最好的方法是:
var myWindow = window.open('', 'title', 'width=500,height=350,top=100,left=100');
myWindow.location.href = 'redirect.asp';
我希望它会有用