我需要在jQuery中打开一个链接,但我需要避免发送引用信息。简而言之,我需要模拟 的rel = “noreferrer”
这可行吗?
我需要在jQuery中打开一个链接,但我需要避免发送引用信息。简而言之,我需要模拟 的rel = “noreferrer”
这可行吗?
我认为每个浏览器都会自动将这些信息添加到所有请求中,并且无法使用JavaScript直接修改它。
在浏览网页后,您确实有以下两种选择:
所有选项都很丑陋,出于可用性原因我不建议使用它们。我的基础是旧的Google Answers 题,但我认为答案是有道理的。
一个快速的解决方案,可以打开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中工作。
我认为每个浏览器都会自动将这些信息添加到所有请求中,并且无法使用JavaScript直接修改它。
在浏览网页后,您确实有以下两种选择:
所有选项都很丑陋,出于可用性原因我不建议使用它们。我的基础是旧的Google Answers 题,但我认为答案是有道理的。
一个快速的解决方案,可以打开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中工作。
你可能有jQuery写一个链接 rel
属性设置为 noreferrer
,然后调用它 $(link_you_made).click()
。
不确定你是什么意思打开一个“从jQuery内”的链接,但设置 window.location
直接不会传递任何引用者信息。
因此,如果您想要传递没有推荐信息的链接,您可以执行以下操作:
$("a").click(function() { window.location = $(this).attr("href"); return false; });
编辑:刚做了一些测试,它实际上看起来像Firefox 不 通过a传递引用者信息 window.location
更改。所以不幸的是,这不是一个完整的/跨浏览器的解决方案......
另外正如sczizzo在下面的评论中指出的那样,有时这可能不可靠(例如,我不确定是否/如何 click
当您在Firefox中间点击链接以在新选项卡中打开它时触发。