请帮助我了解 <base>
的功能标签的 href 属性。
我有一个托管在 http://goodsite.org/bob
的网站.其他网站托管在 http://goodsite.org/others
.
我打算将我的申请移至 http://bettersite.org/bob
.
为了支持这一点,我在标题中有一个基本 url。
<base href="/bob/">
.
我的链接看起来像这样:<a href="thatonething.img">That one thing</a>
正如所希望的那样,我看到了预期的链接(例如 "http://goodsite.org/bob/thatonething.img"
)
问题:
是否<base>
标记普遍支持根相对 URL(即 href="/bob/"
)?
这似乎在我的测试中有效,但我在阅读规范时遇到了一些麻烦。更一般地说,我想知道我是否滥用了这个标签。
最佳答案
Does
<base>
tag universally support root relative urls (i.e.href="/bob/"
)?
是的,<base>
接受域相关(绝对路径)URL 并将正确解析它们相对于主机名。
<base href="/bob/">
意味着您希望所有路径相对 URL(即仅包含路径但不以 /
开头的 URL)都相对于 /bob/
, 这样
-
<a href="foo.html">
将指向/bob/foo.html
,无论域如何。
不会调整绝对域和绝对路径链接:分别,
-
<a href="https://stackoverflow.com">
仍将指向https://stackoverflow.com
, 和 -
<a href="/bar">
仍将指向/bar
.
只要这是您希望路径相关链接的行为方式,您就不会滥用 <base>
这样的元素。一如既往,在使用 <base>
时元素,不时测试您的链接以确保它们仍指向正确的 URL 是个好主意。
关于带有根相对 url 的 HTML5 <base> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51619597/