首页 > 解决方案 > 为什么忽略“base rel =”的值?

问题描述

我想在我的静态 html 页面上的所有链接中添加“noreferrer”,而不必担心将来忘记将其添加到某些新链接中。我尝试base rel="noreferrer" 按照偶尔的建议使用,但它似乎不起作用。有了这个简单的页面:

<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)强制页面中的所有链接来抑制引荐来源网址,这至少适用于我的浏览器,最好适用于大多数现代浏览器?

标签: htmlreferrer

解决方案


我相信您正在寻找:

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

这是根据 MDN的,但我无法验证它是否有效。

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


推荐阅读