如何在没有引用信息的情况下在jQuery中打开链接
我需要在jQuery中打开一个链接,但我需要避免发送引用信息。 简而言之,我需要模拟rel =“noreferrer”
这可行吗?
我认为每个浏览器都会自动将这些信息添加到所有请求中,并且无法使用JavaScript直接修改它。
在浏览网页后,您确实有以下两种选择:
- 从Flash应用程序中启动链接
- 从Java小程序中启动链接
- 通过引荐来源的cloaker / spoofer服务运行您的URL
所有选项都很丑陋,出于可用性原因我不建议使用它们。 我基于旧的Google Answers 问题 ,但我认为答案是有效的。
一个快速的解决方案,可以打开no-referer链接。
function open_link(url) { instance = window.open("about:blank"); instance.document.write(""); 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实际上通过window.location
更改传递了引用者信息。 所以不幸的是,这不是一个完整的/跨浏览器的解决方案……
另外正如sczizzo在下面的评论中指出的那样,有时候这可能不可靠(例如,我不确定当您在Firefox中间点击链接以在新标签中打开它时是否/如何click
)。