为什么忽略“ base rel =“的值?

时间:2019-05-02 18:45:34

标签: html referrer

我想将'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)强制页面中的所有链接禁止引用,至少在我的浏览器上,最好在大多数现代浏览器上有效?

1 个答案:

答案 0 :(得分:1)

我相信您正在寻找:

<meta name="referrer" content="no-referrer">

那是according to MDN,但我无法验证它是否有效。

根据规范,base元素没有rel属性。