ホーム 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);
});

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

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

記事を共有

最近人気な記事