internet-explorer-9 - IE 9 中的条件注释。注释和条件语句之间的空格

标签 internet-explorer-9 conditional-statements

我使用以下 IE 条件语句来加载 IE 特定的样式表。该语句适用于 IE 7、8 和 9 兼容性 View 。但是,当我在普通 IE 9 中查看该页面时,该页面是空的。我在开发人员工具中检查了它,似乎条件语句永远不会关闭,有效地注释掉了页面的其余部分。

<!--[if lt IE 9]><link xmlns="" rel="stylesheet" href="http://colum.edu/Site_Files/localist/css/ie.css" /><[endif]-->

经过一番折腾后,我终于发现,如果我在条件注释的括号前添加一个空格,它的注释就可以在 IE 9 中运行:

<!-- [if lt IE 9]><link xmlns="" rel="stylesheet" href="http://colum.edu/Site_Files/localist/css/ie.css" /><[endif]-->

唯一的区别是注释和条件语句之间有一个空格...

<!--[if lt IE 9]>   vs   <!-- [if lt IE 9]>

我不明白为什么会发生这种事。同样,它只会发生在“浏览器模式:IE9”而不是“浏览器模式:IE9 兼容性 View ”和“文档模式:IE9 标准”。 (我意识到最简单的解决方案是添加空间。但是实际页面位于托管服务上,我可以编辑的内容受到限制。)无论如何,这里有一些示例:

不工作:http://dev.ashramcreative.com/ccc/localist/ie9.html

工作中:http://dev.ashramcreative.com/ccc/localist/ie9-space.html

最佳答案

我刚刚遇到了同样的事情;并在浏览器模式下条件修复IE9前添加空格。

阅读后this post我能够确定元标记是罪魁祸首。

在我更正元标记(在我的例子中是元 http-equiv=content-type )后,浏览器模式下的 IE9 可以正常工作,没有空格。

但是,在您的情况下,它看起来像是 <[endif]-->应该是<![endif]-->

关于internet-explorer-9 - IE 9 中的条件注释。注释和条件语句之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9743385/

相关文章:

c++ - 空 while 循环不检查条件

matlab - 如何在 simulink 中创建 if-then 逻辑?

c - 如何让我的 if else 语句在 C 中运行?

r - R中按日期分组的条件总和

javascript - Plupload 浏览按钮在 IE9 中不起作用

ruby - 当尝试使用 Watir 附加 HTTPWatch 以在 IE9 中工作时,WIN32OLE.attach 是一个未定义的方法

css - IE9 CSS float :left and right push content down

html - 为什么 IE9 将我的 HTML5 block 级元素显示为内联?

javascript - IE9 javascript eval() 的问题

PHP/mysql条件更新查询