IE11(互換表示)でLightbox2を使う


jQueryの画像表示系plug-inの「Lightbox2」をサポート外のブラウザ「IE11(互換表示モード)」で動かした話です。
とりあえず動いた程度の話で、完全な表示/動作を保証するものではありません。

環境

使用したブラウザ: IE11 (11.192.16299.0) 「互換表示モード(IE5相当)」
使用したLightbox2: v2.10.0

背景

Lightbox2は(jQuery1.xなら)IE6以降をサポートしています。
使ったブラウザはIE11でしたが、残念ながら「互換表示」機能がON(IE5相当)だと正常に表示されませんでした。...ふつう。具体的には画像表示サイズが0になってしまい、画像が見えませんでした。
どうにかして互換表示モードでも最低限動くようにしたい。(Lightboxを使いたい)(本当はIEを使いたくないし互換表示とかなんでだよとは思っているけれど)

表示がおかしくなる原因

調査してみたところ、$(window).widthの値が0になってたために画像サイズの決定ロジックがうまく動いていなかった。

対応方法

$(window).widthのところを代替コードにしても良かったんだけど、なるべくLightbox.modとか作りたくなかったので、そのままのコードでも動くようなオプションを指定することにしました。
具体的にはfitImagesInViewportの指定をfalseにする。

<script src="js/lightbox.min.js"></script>
<script type="text/javascript">
    //IEの互換表示で表示させるためのオプション指定
    lightbox.option({
        'fitImagesInViewport': false
    });
</script>

結果

特に問題なく動きました。今回必要としていた機能が十分動くことは確認できました。