2010-03-16 71 views

回答

3

我认为每个浏览器都会自动将这些信息粘贴到所有请求上,并且无法使用JavaScript直接修改它。

淘网后,你有两个选择,但:

  1. 启动从Flash应用程序
  2. 启动从Java小程序中的链接中的链接
  3. 通过运行您的网址一个推荐人匿名/欺骗服务

所有选项都很丑,我不会推荐他们出于可用性的原因。我基于这个旧的谷歌答案question,但我认为答案的立场。

1

你可能会写jQuery的rel属性设置为noreferrer,然后用$(link_you_made).click()来调用它。

+3

这是一个HTML5功能,我认为只有最新的Webkit浏览器支持它。 – 2010-03-16 23:56:30

+1

确切地说,在铬它完美的作品。 ffx 3.6没有那么多。 IE ...没办法。 – andufo 2010-03-17 00:20:14

+0

ff7.0.1不能正常工作 – 2011-10-04 17:27:52

1

不确定你的意思是打开“从jQuery内部”链接,但直接设置window.location不会传递任何引用信息。

所以,如果你有,你想传递你可以做这样的事情没有转诊信息的链接:

$("a").click(function() { window.location = $(this).attr("href"); return false; }); 

编辑:只是做了一些测试&它看起来像Firefox的实际确实通引用信息通过window.location更改。所以不幸的是,这不是一个完整的/跨浏览器的解决方案...

也作为sczizzo在下面的评论中指出,可能有时间,这将是不可靠的(例如,我不知道如果/当您点击Firefox中的链接以在新标签中打开链接时,如何触发click)。

+0

我不确定这会按预期工作。浏览器可能完全绕过jQuery的事件处理程序。 – sczizzo 2010-03-17 00:05:54

+0

@sczizzo:你是对的(看到更新的答案),但我不认为有这样做的傻瓜式的方式(除了Cory Larson的建议,使用像闪光之类的东西),我认为这是最简单的答案至少将覆盖大多数情况。 – Alconja 2010-03-17 00:29:19

+0

知道window.location不会削减它是有帮助的,但这个答案是超级进化的,这不是一个论坛,而是一个问答网站,考虑改写它。谢谢 – 2014-10-15 07:00:39

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中工作。

+0

还没有尝试过,但有很大的意义:o – andufo 2012-12-11 16:32:56

+0

不适用于Chrome 54.0.2840.99 m – bbodenmiller 2016-11-23 02:24:09

相关问题