9

有什么方法可以检测到 rel="noreferrer" 与 Javascript 的支持吗?

<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"');
}
4

2 回答 2

17

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

我的实现示例在hotlink.js中可用。具体来说,请参见on_ready

于 2012-04-05T00:05:43.037 回答
0

不,没有。Referrer 标头在 JavaScript 的域之外。

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

于 2011-12-03T19:35:17.923 回答