IE中的条件语句在Jade模板引擎中

我怎样才能转换JADE语言下面的IE条件语句:

<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]--> <!--[if IE 9]> <html lang="en" class="ie9"> <![endif]--> <!--[if !IE]><!--> <html lang="en"> <!--<![endif]--> 

我尝试了以下,但它不工作:

 //if IE 8 html lang="en" class="ie8" //if IE 9 html lang="en" class="ie9" //if !IE html lang="en" // <![endif] 

它显示以下输出:

 <!--if IE 8html lang="en" class="ie8" --> <!--if IE 9html lang="en" class="ie9" --> <!--if !IEhtml lang="en" --> <!-- <![endif]--> 

有人可以指导我如何纠正。

支持//if IE 8条件注释语法在几个月前被删除: Git Commit
版本0.35是支持它们的最后一个版本; v1.0是删除后的第一个版本。


我一直在使用@Jayram使用的文字样式; 只有区别是条件逻辑àla h5bp和结束html标记:

 | <!--[if IE 8]> <html lang="en" class="lt-ie9"> <![endif]--> | <!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]--> 

注意:请记住用| </html>closures文档 | </html>因为最初的html标签不是Jade的自闭句法。

此代码应按预期工作。 它适用于高达0.35.0 Jade版本。

请注意,最后的html元素需要适当的 Jade元素(这就是为什么属性在括号(...) )。 前两个元素是注释的一部分,因此应格式化为格式化的 HTML元素。

 //if IE 8 <html lang="en" class="ie8"> //if IE 9 <html lang="en" class="ie9"> //[if !IE]><! html(lang="en") //<![endif] 

在页面中输出如下:

 <!--[if IE 8]><html lang="en" class="ie8"><![endif]--> <!--[if IE 9]><html lang="en" class="ie9"><![endif]--> <!--[if !IE]><!--><html lang="en"><!--<![endif]--> 

编辑

1.0.0版(2013年12月22日发布)开始,Jade不再parsing评论内容,并且放弃了对IE条件注释的支持。

新的方法是使用格式良好的IE条件注释。 现在这样做是安全的,Jade忽略以<开头的任何行。

你的代码可以如下:

 <!--[if IE 8]><html class="ie8" lang="en"><![endif]--> <!--[if IE 9]><html lang="en" class="ie9"><![endif]--> <!--[if !IE]><!--> html(lang="en") <!--<![endif]--> 

请注意, html元素将由Jade处理(具有所有function,例如从请求处理方法中设置类名称),所以您不应该追加| </html> 你的Jade文件的末尾有| </html>

您也可以参考IE Jade模板引擎中的条件注释,了解如何使用Jade混合IE浏览器条件注释。

我希望这会有所帮助。

像这样使用它。 这对我有用。

  | <!--[if IE 8]> <html lang="en" class="ie8"> <![endif]--> | <!--[if IE 9]> <html lang="en" class="ie9"> <![endif]--> | <!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->