私はHTML5 ボイラープレートを使用していますが、 Selectivizrを使い始めた今まで問題はありませんでした。私が理解していない何らかの理由で、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]-->
私が言ったように、上記のコードを削除して<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]-->
すべて問題ないようですが、私は初心者なので、この回避策が問題ないことを確認したいと思いますか? それともマイナス面はありますか?
トピック外のもう 1 つの質問: ユーザーが Firefox または Chrome でサイトにアクセスした場合、何body
が「使用」されるのでしょうか? body
クラスなしで「使用」すると思いますか?
私のロジックでは、body
他のすべてのブラウザーで確実に「使用」するために、別の条件付きコメントを書くように指示されますが、公式のボイラープレート テンプレートにはそのようなコメントは存在しないため、必要ないと思います...なぜですか?