【问题标题】:href property is wrong for a stylesheet object referenced by an @import in IE9IE9 中 @import 引用的样式表对象的 href 属性错误
【发布时间】:2012-03-20 03:05:26
【问题描述】:
<head>
    <link href="Styles/StyleSheet1.css" rel="stylesheet" type="text/css" />
</head>

使用 javascript,我可以获取上面的 stylesheet1 对象并检索返回绝对路径的 href,它看起来像这样:

C:\Users...\myWebsite\Styles\StyleSheet1.css

StyleSheet1.css 包含一个@import:

@import url("StyleSheet2.css");

这不适用于“Styles”文件夹,因为 StyleSheet2.css 与 StyleSheet1.css 位于同一文件夹中,即“Styles”。它按预期工作并将样式导入 html 文档。但是,如果我掌握了 @import 引用的样式表对象,它会为 href 属性返回这个:

C:\Users...\myWebsite\StyleSheet2.css

请注意它缺少“样式”文件夹。

这是一个已知的错误吗?有没有快速的解决方法?

【问题讨论】:

    标签: javascript css internet-explorer-9 stylesheet href


    【解决方案1】:

    Html 文档从指定位置加载“Styles/StyleSheet1.css”。并且 import 语句在 html 文档的上下文中运行。因为那个浏览器会解释 DocumentsURL\StyleSheet2.css 下的@import url("StyleSheet2.css"); 语句。

    您可以尝试使用实际位置 @import url("样式/StyleSheet2.css");

    【讨论】:

    • jscript 引擎将其解释为以文档 url 为根,但 IE 引擎不是。如果我将位置更改为@import url("Styles/StyleSheet2.css"),样式将不再被拾取,因为 IE 将寻找 Styles/Styles/StyleSheet2.css。
    • 在这种情况下,我使用 @import url("/Styles/StyleSheet2.css"); 绝对 URL 方案,IE 也将正确解释。只是一个 / 开头。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    相关资源
    最近更新 更多