HTML <a> link that doenst&#39; set referere?</a>

时间:2011-02-26 16:18:43

标签: html browser header

有没有办法建立到页面的链接,并告诉浏览器不要在新请求上设置引用?

我尝试了target="_blank",但Chrome总是放置引用标题。

由于

2 个答案:

答案 0 :(得分:1)

您可以使用javascript劫持锚点击事件并发送自定义HTTP标头。然后用新页面替换正文。但请记住,这通常不是一个好的实现,只有在您确实需要这个并且选择不足时才应该使用它。首先,这不会为浏览器生成历史记录。

这是JQuery的快速示例代码。我没有测试过它,但它应该给你一个基本的想法。

$( "#myLink" ).click( function()
{
    $.ajax({
       beforeSend: function(req) 
       {
          req.setRequestHeader("Referer", "");
       },
       type:"GET",
       url: "[proper url]",
       success: function( result )
       {
          $("body").html( result );
       }
    });
});

答案 1 :(得分:0)

您可以将属性rel="noreferrer添加到锚元素:

<a href="www.example.com" rel="noreferrer">noreferrer!</a>

这是HTML5中引入的新功能,因此并非所有浏览器都支持此功能。

编辑:According to Wikipedia,目前只有Webkit支持它。更一般地说,您可能无法阻止Referer标头完全发送,因为客户端最终会做它想要的...

相关问题