我需要在jQuery中打开一个链接,但我需要避免发送引荐信息。简而言之,我需要模拟 rel =“noreferrer”
可行吗?
答案 0 :(得分:10)
快速解决方案,打开no-referer链接。
function open_link(url)
{
instance = window.open("about:blank");
instance.document.write("<meta http-equiv=\"refresh\" content=\"0;url="+url+"\">");
instance.document.close();
return false;
}
测试。在FF,IE,Chrome中工作。
答案 1 :(得分:3)
我认为每个浏览器会自动将这些信息添加到所有请求中,并且无法使用JavaScript直接修改它。
在浏览网页后,您确实有以下几种选择:
所有选项都很丑陋,出于可用性原因我不建议使用它们。我的基础是旧的Google Answers question,但我认为答案很明确。
答案 2 :(得分:1)
你可能让jQuery写一个rel
属性设置为noreferrer
的链接,然后用$(link_you_made).click()
调用它。
答案 3 :(得分:1)
通过打开“来自jQuery内部”链接无法确定您的意思,但直接设置window.location
不会传递任何引荐来源信息。
因此,如果你想要传递一个没有推荐信息的链接,你可以这样做:
$("a").click(function() { window.location = $(this).attr("href"); return false; });
修改:刚做了一些测试&amp;看起来Firefox实际上 通过window.location
更改传递引用者信息。所以不幸的是,这不是一个完整的/跨浏览器的解决方案...
同样正如sczizzo在下面的评论中指出的那样,有时候这可能不可靠(例如,当你在Firefox中间点击链接时,我不确定是否/ click
会触发在新标签中打开它。