如何检测 rel="noreferrer"支持?
有什么方法可以检测 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"');
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我通过创建带有
name
属性的隐藏 iframe 来检测 noreferrer 支持,然后创建一个链接及其
目标
属性等于 iframe 的name
属性,并且链接指向当前域上的任何资源。链接到about:blank
也可以,但在 Firefox 和 IE 中存在问题,因此您应该链接到服务器上的故意空白文件。在 iframe 中加载资源后,检查[the iframe].contentDocument.referrer === ""
。如果这是 true,则支持noreferrer
。hotlink.js 中提供了我的实现示例。具体请参阅 on_ready。
I detect noreferrer support by creating a hidden iframe with a
name
attribute, and then I create an<a rel="noreferrer">
link with itstarget
attribute equal to the iframe'sname
attribute, and have the link point to any resource on the current domain. Linking toabout:blank
also works, but it has problems in Firefox and IE, so you should instead link to an intentionally blank file on your server. After the resource is loaded in the iframe, check that[the iframe].contentDocument.referrer === ""
. If this is true,noreferrer
is supported.An example of my implementation is available in hotlink.js. Specifically, see on_ready.
不,没有。 Referrer 标头超出了 JavaScript 的范围。
如果它特别重要,您可以检查浏览器 (
navigator.userAgent
) 是否已知支持或不支持noreferrer
。No, there is none. Referrer headers are outside the domain of JavaScript.
If it's particularly important, you could check whether the browser (
navigator.userAgent
) is one known to support or not supportnoreferrer
.