如何在没有引用信息的情况下在jQuery中打开链接

时间:2010-03-16 23:30:30

标签: jquery

我需要在jQuery中打开一个链接,但我需要避免发送引荐信息。简而言之,我需要模拟 rel =“noreferrer”

可行吗?

4 个答案:

答案 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直接修改它。

在浏览网页后,您确实有以下几种选择:

  1. 从Flash应用程序中启动链接
  2. 从Java小程序中启动链接
  3. 通过引荐来源的cloaker / spoofer服务
  4. 运行您的网址

    所有选项都很丑陋,出于可用性原因我不建议使用它们。我的基础是旧的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会触发在新标签中打开它。