我有一个网站,使用base标签来设置相对URL的绝对路径。在我测试过的所有浏览器中都可以正常工作,除了IE(大惊小怪)。根据IE请求CSS文件的方式,似乎没有注意到base标签。它会注意到页面上的其他所有内容,但不是base标签。为什么会这样?除了使用绝对路径引用CSS文件之外,还能做些什么吗?以下是我的代码:
<!DOCTYPE html>
<html><head>
<title>base test</title>
<base href="/baseTest/">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div>foo</div>
</body></html>
以下是baseTest/style.css文件中的内容:
div {
background: yellow;
}
编辑:同样的问题似乎也会发生在图片上。我所做的所有测试都是在IE9中进行的。这个问题出现在标准模式下,以及IE8和IE7兼容模式下。
编辑2:如果我指定一个绝对URL,它就可以正常工作。我不知道相对URL的支持是最近才有的功能。除非我能找到某种方法(比如JS hack)使其工作,否则我可能会放弃使用基础标签来避免重复路径。