我想将'noreferrer'添加到静态html页面上的所有链接,而不必担心将来忘记将其添加到某些新链接中。我尝试使用base rel="noreferrer"
as occasionally suggested,但似乎不起作用。通过以下简单页面:
<html>
<head>
<base rel="noreferrer">
</head>
<body>
<a href="linktest.html">no rel</a>
<br />
<a rel="noreferrer" href="linktest.html">rel</a>
</body>
</html>
并在Debian 9上使用Chromium 73(稳定),当我单击第一个链接时,访问日志将显示引荐来源网址:
10.0.0.1 - - [02/May/2019:11:32:02 -0700] "GET /linktest.html HTTP/1.1" 304 330 "https://www.example.com/linktest.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36"
但是当我单击第二个链接时,却没有明确指定rel="noreferrer"
:
10.0.0.1 - - [02/May/2019:11:32:06 -0700] "GET /linktest.html HTTP/1.1" 304 330 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36"
我还尝试将target="_blank"
添加到base
标记中,但是它没有改变引荐来源网址的行为,只是默认情况下强迫链接在新标签页中打开(我不希望这样做)
这行得通吗?如果是这样,为什么不起作用?
是否有一种方法(最好不使用javascript)强制页面中的所有链接禁止引用,至少在我的浏览器上,最好在大多数现代浏览器上有效?
答案 0 :(得分:1)
我相信您正在寻找:
<meta name="referrer" content="no-referrer">
那是according to MDN,但我无法验证它是否有效。
根据规范,base
元素没有rel
属性。