かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

jadeでIE振り分けのタグを書く方法

※ jadeをアップデートしたら記述方法がかわっていました。
この方法ではコンパイルエラーになる可能性があります。
jadeでIE振り分けのタグがまた変わってた... - かもメモ
超めんどくさがりなので、最近はjadeでhtmlを生成しています。

IEの振り分けタグ

<!--[if lt IE 9]>

をjadeで出力する方法でハマりました。

検索していると、下記のような記述方法が多く見つかりました。

//if lt IE 9
  div
    // 処理
//if IE 7
  div
    // 処理


が、
jadeの最新のjadeのバージョンでは上記の記述方法は廃止されているらしくエラーになってしました。

調べた結果 下記の様にすれば問題ないようです。

<!--[if lt IE 9.0]>
div
  // 処理
<![endif]-->

HTMLのまま書けってことみたい。
インデントするとエラーになるので注意が必要です!!

で、このIE振り分けタグ内にscriptを直接書きたい時には更に注意が必要です。

<!--[if lt IE 9.0]>
//- NG コンパイルエラーを起こす
script(type="text/javascript")
  (function() {
    var hoge;
  });
<![endif]-->

<!--[if lt IE 9.0]>
//- OK
script(type="text/javascript").
  (function() {
    var hoge;
  });
<![endif]-->

scriptタグの最後に . を付けて所謂 html を直接記述できる状態にしてにしないとダメっぽい!


結構ハマりました。
最初は別ファイルのHTML作って読み込ませたりしてました。。。

はてな記法のコード表示するやつに jade ないっぽい!!


追記: 記述方法が変更になっていました。
jadeでIE振り分けのタグがまた変わってた... - かもメモ