如何在jQuery中打开链接而不使用转介信息
我需要在jQuery中打开一个链接,但我需要避免发送推荐信息。简而言之,我需要模拟rel=“noreferrer”如何在jQuery中打开链接而不使用转介信息,jquery,Jquery,我需要在jQuery中打开一个链接,但我需要避免发送推荐信息。简而言之,我需要模拟rel=“noreferrer” 它可行吗?我认为每个浏览器都会自动将这些信息添加到所有请求中,并且无法直接用JavaScript修改它 浏览完网站后,您确实有几个选择: 从Flash应用程序中启动链接 从Java小程序中启动链接 通过推荐人伪装/欺骗服务运行您的URL 所有选项都很难看,出于可用性原因,我不推荐它们。我是基于一个旧的Google Answers,但我认为答案是正确的。您可能让jQuery编写一个链
它可行吗?我认为每个浏览器都会自动将这些信息添加到所有请求中,并且无法直接用JavaScript修改它 浏览完网站后,您确实有几个选择:
所有选项都很难看,出于可用性原因,我不推荐它们。我是基于一个旧的Google Answers,但我认为答案是正确的。您可能让jQuery编写一个链接,将
rel
属性设置为noreferrer
,然后用$(您创建的链接)调用它。单击()
不确定“从jQuery内部”打开链接是什么意思,但是直接设置window.location
不会传递任何推荐人信息
因此,如果你有一个链接,你不想传递转介信息,你可以这样做:
$("a").click(function() { window.location = $(this).attr("href"); return false; });
编辑:刚刚做了一些测试&看起来Firefox确实通过窗口传递了推荐人信息。位置
改变。不幸的是,这不是一个完整的/跨浏览器的解决方案
同样,正如sczizzo在下面的评论中指出的那样,有时这可能不可靠(例如,我不确定当你在Firefox中用鼠标中键单击一个链接以在新选项卡中打开它时,
click
是否/如何触发)。一个快速解决方案,可以不打开任何引用链接
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;
}
函数打开链接(url)
{
instance=window.open(“about:blank”);
instance.document.write(“”);
instance.document.close();
返回false;
}
测试。在FF,IE,Chrome中工作。这是HTML5的一项功能,我认为只有最新的Webkit浏览器支持它。确切地说,在Chrome中它工作得非常完美。ffx 3.6没有那么多。即。。。不可能。我不确定这是否会像预期的那样起作用。浏览器可能会完全绕过jQuery的事件处理程序。@sczizzo:你是对的(见更新的答案),但我认为没有任何简单的方法可以做到这一点(除了Cory Larson建议使用flash之类的工具之外),我认为这是最简单的答案,至少能覆盖大多数情况。知道窗口位置不会削减它是有帮助的,但是这个答案是超级进化的,这不是一个论坛,而是一个问答网站,考虑重新措辞它。谢谢