HTML5样板文件&x2B;条件注释

HTML5样板文件&x2B;条件注释,html,boilerplate,conditional-comments,selectivizr,Html,Boilerplate,Conditional Comments,Selectivizr,我正在使用,直到现在,当我开始使用时,我才发现它有问题。出于某种原因(我不理解),IE8产生了一个Javascript错误 经过一些测试后,我注意到当我停止使用条件浏览器注释(在样板中)时,错误消失了,这些注释根据您使用的浏览器向html添加了一个类: <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> <!--[if IE 7]> <html

我正在使用,直到现在,当我开始使用时,我才发现它有问题。出于某种原因(我不理解),IE8产生了一个Javascript错误

经过一些测试后,我注意到当我停止使用条件浏览器注释(在样板中)时,错误消失了,这些注释根据您使用的浏览器向
html
添加了一个类:

<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
一切似乎都很好,但由于我是一个新手,我只想验证一下这个解决方法是否可行?还是有负面影响

还有一个问题:当用户使用Firefox或Chrome访问网站时,会“使用”什么
body
?我猜它会在没有类的情况下“使用”
body


我的逻辑会告诉我写另一个条件注释,以确保对所有其他浏览器“使用”
body
,但是在官方样板模板中不存在这样的注释,因此我猜它不需要。。。为什么不呢?

实际上,我们最初在
标签上有它们

我们移动它们有两个小原因:

  • IE6中的多类名错误
  • CMS为自己的类使用body元素
您可以将类移动到
,而不会有太多问题。您还可以在HTML元素上保留
lang=en
,以便进行清理


这里有更多提示:

如果您可以向selectivizr提交关于IE8问题的通知单,您应该:感谢您抽出时间来调查此事!现在我将使用
body
标记+我将向selectivizr提交一张票据,如果他们可以解决问题,我将撤消更改。
<!--[if lt IE 7]> <body class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <body class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <body class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <body class="no-js" lang="en"> <!--<![endif]-->