IE不支持基本标签吗?

Hyd*_*erA 8 html internet-explorer hyperlink meta-tags

我不清楚IE对<base>标签的支持.一些文章表明它只适用于绝对href路径.但它对我不起作用.

<base href="http://domain.net/qu/en/" />

<a href="sample">Sample Link</a>
Run Code Online (Sandbox Code Playgroud)

在chrome和FF上,点击链接将带我去,http://domain.net/qu/en/sample但在IE9中,它带我去http://domain.net/qu/sample

我和一个亲戚一起试过这个<base>,但似乎不起作用.

我只在IE9.08中测试过这个

Juk*_*ela 17

IE一直支持<base href>.根据规范,它总是仅在href值是绝对URL 时定义,尽管某些浏览器甚至在相对URL的情况下已经解释了它.它必须放在<head>文件的一部分; 否则浏览器可能会忽略它.基址只能在文档中设置一次.(如果违反了这一规定,浏览器往往会忽略除第一个之外的所有内容.)

在这种情况下,我的猜测是在标签之前有任何标签之外的某些字符<base>.考虑一下:

 <base href="http://domain.net/qu/en/" />
<a href="sample">Sample Link</a>
Run Code Online (Sandbox Code Playgroud)

由于<base>标记之前的不间断空格字符,这是无效的.在HTML解析中,不中断空格(不是空白字符)隐式关闭<head>元素并打开<body>元素.这意味着<base>标签现在将在<body>.有些浏览器可能仍然接受它,但正如Tieson T的答案所引用的文档所说:"Internet Explorer 7 [和更新版本]严格强制在文档头部使用基本标记,并忽略错位标记."

要检查一下,请使用验证器 - 除此之外还会报告这样的问题.