IE9で表示崩れするが、開発者モードを立ち上げると表示崩れがなくなる。

IE9で表示崩れがおきると報告を受けたけど 自分のIE9(開発者モード立ち上げ時)では表示崩れが起きないという事例。

実行されているjavascriptのコードにこんなコードがあり

"use strict"

...

if(console.log) {
  ...
}

IE9ではconsole APIに対応していないらしく、console自体がundefinedだったため
このコードの実行時にエラーが出てしまい、以後の整形を行うスクリプトが実行されずに
表示崩れを起こしているというオチでした。

厄介なところは開発者モードだとconsoleが定義されて
正しく動いてしまうというところ。

  1. IEの開発者ツールからスクリプトデバッガを起動
  2. 開発者ツールを閉じる
  3. IEを閉じる
  4. IEを起動
  5. 該当のページを表示する

という手順を踏んで、スクリプトでエラーが起きたら
エラーダイアログが表示されるような状態にしてページを表示することによって
やっと原因が突き止められた。

参考:

そういえば、はてブロって最近は埋め込みのリンクなんか貼れるようになったんですね。 便利な世の中になったもんだ