その他
    ホーム 技術発信 DoRuby IEのwindow.onloadでthickboxが動作しない場合の対処方法

    IEのwindow.onloadでthickboxが動作しない場合の対処方法

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    こんにちは abennu です。

    今回の内容は題名の通り
    IEのwindow.onloadでthickboxが動作しない場合の対処方法を書きます。

    はじめにthickboxについて簡単に説明します。
    thickboxは主に画像等を格好良く表示したりする
    Ajaxライブラリの1つです。

    もしも画像を格好良く表示したくなってきたら
    thickboxのtb_show()などを使うとちょっとリッチな雰囲気を出せます。
    tb_showの簡単な使い方の例は

     < input type=”button” onClick=”tb_show(”, ‘hoge.jpg’);”>

    こんな感じでしょうか。
    これを実行すると
    ブラウザの画面が暗くなり、新しいウィンドウが生成されます。
    (新しいウィンドウにはhoge.jpgが表示されます。ここにはhtml等も表示できます。)
    以上がthickboxの簡単な説明でした。

    では本題の対処方法について書いてゆきます。
    こんな便利なthickboxなのですが
    IEのwindow.onloadでtb_showを以下のように呼び出しても、画面が暗くなるだけで新しいウィンドウはでてきません。
    (firefox, chromeでは正常に動作しました。)

    window.onload = function(){tb_show(”, ‘hoge.jpg’)};

    この場合はwindow.onloadの代わりにjQueryのsetTimeoutを使って..

    jQuery(function(){
    setTimeout(function(){ tb_show(”, ‘hoge.jpg’) }, 500);
    });

    このようにすれば動きます。

    こんな感じでしょうか。
    以上が対処方法です。