我使用的是HTML5 Boilerplate,直到现在,当我开始使用Selectivizr时,它从未遇到过问题。出于某种原因,我不明白,IE8产生了Javascript错误。HTML5 Boilerplate +条件注释
一些测试后,我注意到,当我停止使用条件浏览器评论说,一个类添加到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]-->
由于我说,当我删除上面的代码并用<html>
代替它时,一切正常。
因为我不想彻底删除有条件的意见(他们帮我写的浏览器特定的CSS),我认为做同样的,但不是把它应用到html
我将做到这一点的<body>
:
<!--[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]-->
一切似乎工作正常,但由于我是一个新手,我只想验证这种解决方法是好吗?还是有一个缺点?
还有一个问题偏题:当用户使用Firefox或Chrome访问该网站时,会“使用”哪些body
?我猜这会“没用上课”body
?
我的逻辑会告诉我写另一个条件注释,以确保所有其他浏览器都使用body
,但是在官方Boilerplate模板中没有这样的注释存在,因此我猜测它不需要......为什么不?
此外,如果你可以提交票证与有关您的IE8的问题selectivizr,你应该。 :) –
感谢您花时间研究它!现在我将使用'body'标记+我将用selectivizr提交一张票,如果他们可以解决问题,我将撤销这些更改。 – Andrej