html – IE在引用CSS文件时不支持基本元素中的相对路径

前端之家收集整理的这篇文章主要介绍了html – IE在引用CSS文件时不支持基本元素中的相对路径前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用 base tag站点为相对URL设置绝对路径.它在我测试过的所有浏览器中运行良好,除了IE(大惊喜).根据IE为CSS文件提出的请求,似乎没有注意到基本标记.它确实使用页面上的其他内容来确认基本标记.为什么会这样?除了使用绝对路径引用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)来完成这项工作.

样本页面http://www.debugtheweb.com/test/base/relative.html

解决方法

我不确定这是否是您在IE中的问题,但根据 the HTML 4.01 standards document的相关部分,基本href中的URL必须是绝对URI.此外,在示例中,给定它看起来像这样(带有文件名):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
 <HEAD>
   <TITLE>Our Products</TITLE>
   <BASE href="http://www.aviary.com/products/intro.html">
 </HEAD>

 <BODY>
   <P>Have you seen our <A href="../cages/birds.gif">Bird Cages</A>?
 </BODY>
</HTML>

在谷歌搜索中,我发现了Firefox添加了对基本href中相对路径支持的版本的讨论(这是你正在使用的),因此显然不是一直存在的东西,而不是4.01标准似乎描述的东西.

HTML5 spec似乎描述并允许基本URL没有主机部分(主机相关),所以可能是最近已添加到IE尚未支持或尚未完全支持CSS文件加载的规范.

我建议你尝试将你的域名放在基础HREF中.

原文链接:https://www.f2er.com/html/232261.html

猜你在找的HTML相关文章