サポート » テーマ » Twenty Twelve のヘッダでのブラウザ判定

  • 解決済 sano_koyuki

    (@sano_koyuki)


    本当にくだらない質問で申し訳ありません。
    Twenty Twelve のヘッダを見ていて不思議に思ったので質問いたします。

    <!--[if IE 7 | IE 8]>
    <html class="ie" <?php language_attributes(); ?>>
    <![endif]-->
    <!--[if !(IE 7) | !(IE 8) ]><!-->
    <html <?php language_attributes(); ?>>
    <!--<![endif]-->

    この部分なのですが、仮に IE 7 や IE 8 で見ると
    最初に [if IE 7 | IE 8] の部分で、
    『IE 7 である、または IE 8 である』と判定して
    html タグを認識しますが、
    その次の [if !(IE 7) | !(IE 8) ] でも
    『IE 7 でない、または IE 8 でない』と判定して
    html タグを二度認識してしまうように思うのですが、
    問題はないのでしょうか?

    一応以下のようなテストコードを組んでみると

    <!--[if IE 7 | IE 8]>
    <p>IE 7 か 8 として認識されています</p>
    <![endif]-->
    <!--[if !(IE 7) | !(IE 8)]>
    <p>IE 7 ではない、または 8 ではないとして認識されています</p>
    <![endif]-->

    どちらも認識して表示してしまいます。

    [if !(IE 7) & !(IE 8) ] であれば
    『IE 7 でない、かつ IE 8 でない』となるので
    問題なくなるのではないかと思うのですが、
    html タグだけは特別で二重に出力してもよかったのでしょうか?

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • スレッド開始 sano_koyuki

    (@sano_koyuki)

    すみません、自己解決しました。
    Wikipedia で確認したのですが、

    <!--[if !(IE 7) | !(IE 8) ]><!-->
    <html <?php language_attributes(); ?>>
    <!--<![endif]-->

    これの <!--[if !(IE 7) | !(IE 8) ]><!--><!--<![endif]--> がポイントだったんですね。
    ダウンレベルから見える条件付きコメント…の部分。

    勉強になりました…。

    解決したのであれば[解決済み]にしてください。

    スレッド開始 sano_koyuki

    (@sano_koyuki)

    失礼しました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「Twenty Twelve のヘッダでのブラウザ判定」には新たに返信することはできません。