我可以在HTML基本标记中省略href的域名吗?


8

当前在我的网站上,我使用HTML基本标记来缩短锚定标记中的URL。我网站上的所有URL都属于一个域。为了100%符合规定,我使用绝对URL。例如:

<base href="http://www.example.com/path/to/specialpage/">

我在互联网上看了看是否可以以某种方式缩短它,并使它在过去十年来发明的浏览器中仍然可以使用。我想做类似的事情:

<base href="/path/to/specialpage/">

我的问题是,如果使用上述代码,Internet Explorer等主要浏览器会崩溃吗?还是主要浏览器中存在此标记缩短的错误?我想尝试省略域名,但让我的网站仍可与过去十年来制造的所有浏览器一起使用,即使这意味着包括用于特定浏览器的特殊标记,也许我也需要以下内容:

<!-- firefoxpatchID=1 -->
<base href="/path/to/specialpage/">
<!-- endfirefoxpatch -->

这里有什么解决方案?我是否可以不删除域名而让每个浏览器都满意呢?还是我必须对某些浏览器做一些特殊的事情才能适应我的想法?

Answers:


6

。href必须指向绝对URI。在基本元素上不允许相对。

此属性指定一个绝对URI,它用作解析相对URI的基础URI。

HTML5标准表示,引用了href属性<base>

Document对象的文档基本URL是绝对URL


1
他们不必是按照绝对的这个:“整个绝对和相对的URI允许相对URL地址....文档中使用的基本URL”
Stephen Ostermiller

能够指定相对URI似乎是HTML5的一种变化。HTML 4.01的规范肯定指出这应该是绝对URI。如果OP希望支持“ 10年”的旧浏览器,这可能是他们担心的问题!
MrWhite 2016年

@StephenOstermiller好吧,让我们看一下标准该标准指出href必须包含“文档URL”,并且文档URL被定义为 “绝对URL”。现在, w3dk指出的HTML 4.01相比,如果存在差异,那么我不知道,也不必费心看。
罗布

1
我认为您需要进一步阅读该文档...“ Document对象的文档基本URL是通过运行以下子步骤获得的绝对URL “ ...”文档基本URL是第一个子对象的冻结基本URL。具有href属性的文档中的基本元素”。不幸的是,WhatWG文档似乎没有进一步解释(至少“冻结基本URL”的内部链接没有终结点)。
MrWhite

1
但是w3.org的规范确实进一步解释了:“要设置冻结的基本URL,请相对于文档的后备基本URL解析元素的href内容属性的值;如果成功,则将冻结的基本URL设置为最终的绝对值。 URL”。“文档的后备基本URL”基本上是当前文档的绝对URL。这有点罗word,但我认为这意味着您现在可以在BASE元素中使用相对 URL。然后将由此解析相应的绝对URL。
MrWhite
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.