如何检测rel =“noreferrer”支持?

时间:2011-12-03 19:30:04

标签: javascript jquery referrer referrals

有什么方法可以用Javascript检测对rel =“noreferrer”的支持吗?

<a href="http://example.com" rel="noreferrer">link without referral</a>

解决方案 - 不推荐使用$ .browser,它可能会在未来的jQuery版本中移动到插件中。

var is_webkit = $.browser.webkit;
if(is_webkit) {
    alert('supports rel="noreferrer"');
}

2 个答案:

答案 0 :(得分:16)

我通过创建具有name属性的隐藏iframe来检测noreferrer支持,然后创建一个<a rel="noreferrer">链接,其target属性等于iframe的name属性,并使链接指向当前域上的任何资源。链接到about:blank也有效,但它在Firefox和IE中存在问题,因此您应该链接到服务器上的故意空白文件。在iframe中加载资源后,请检查[the iframe].contentDocument.referrer === ""。如果是这样,则支持noreferrer

hotlink.js中提供了我的实施示例。具体来说,请参阅on_ready

答案 1 :(得分:0)

不,没有。 Referrer标头不在JavaScript域中。

如果它特别重要,您可以检查浏览器(navigator.userAgent)是否已知支持或不支持noreferrer