Eli*_*ria 5 html css internet-explorer base internet-explorer-9
我有一个站点,使用基本标记来设置相对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>
Run Code Online (Sandbox Code Playgroud)
这是baseTest/style.css文件中的内容:
div {
background: yellow;
}
Run Code Online (Sandbox Code Playgroud)
编辑:同样的事情似乎也发生在图像上.我做的所有测试都是在IE9中进行的.标准模式以及IE8和IE7兼容模式出现了问题.
编辑2:如果我指定绝对URL,它工作正常.我不知道对相对URL的支持是最近的功能.我可能会放弃我的计划使用基本标记来避免重复路径,除非我能找到一些方法(比如可能是JS hack)来完成这项工作.
我不确定这是否是您在IE中的问题,但根据HTML 4.01标准文档的相关部分,基本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>
Run Code Online (Sandbox Code Playgroud)
在Google搜索中,我发现了Firefox添加了对基本href(这就是你正在使用的)相对路径的支持版本的讨论,因此显然不是一直存在的东西,而不是4.01标准似乎描述的东西.
在HTML5规范似乎来形容,让基地的URL没有主机部分(主机相对)或许这是已被添加到最近其IE浏览器还不支持或者没有完全对CSS文件加载尚不支持的规格东西.
我建议你尝试将你的域名放在基础HREF中.
归档时间: |
|
查看次数: |
16690 次 |
最近记录: |