Popbox.jsがIE9や10で動かない場合

公開日: : IT/プログラム

Enchanです。
愛用していたPopbox.jsに問題が発生しました。
jqueryとは独立していて、画像をクリックすると拡大できるPopbox.js(2.7)ですが、
IE9や10ではクリックすると、一回目では起動しない現象がありました。
(ローディング画像がくるくる回り続けるだけで、拡大されません。しかし、もう一回クリックすると画像は拡大されます。)
Popbox.jsとは、
imgタグに『pbsrc』という属性を付け、『pbsrc』に拡大したときに表示したい画像のURLを書くんですね。Popbox.jsの初期処理では『pbsrc』が記述してあるimgタグ達を取得し、配列として持っておく。

マウスで画像をクリックしたときに、この配列をアクセスし配列内のオブジェクトのステータス『readyState』を見て、画像を拡大するか否かと決めているようです。
ここで、Firefoxやchoromeのブラウザでは配列内のオブジェクトのステータス(readyState)が『complete』(全データ読込完了状態)になっているのですが、ie9,10だと『uninitialized』(初期化未完了状態)となり、画像が拡大されません。
なぜuninitializedになるか? これは、誰かが何れ解明してくれるとして、
Popbox.jsをieブラウザの場合は上記の処理をチェックしないように修正して動くようにしたよ。
修正したファイルを置いておきますのでダウンロードはご自由に(v2.7を変更しています)
今のところ、このチェックを飛ばしたからといって変な不具合は出ていません。
まぁ、画像を拡大・縮小する単純なscriptなので、特に大きな問題にはならんでしょう。
※このプログラムは問題を回避しているだけであって、しっかりした修正ではありませんのであしからず。

関連記事

no image

さくらインターネットのmailfilterで Toの書換えや件名に定型文を付加する方法

enchanです。 さくらインターネットでは、.mailfilterを使って、スパムの除去や転送メー

記事を読む

no image

さくらインターネットからgmailにメールが届かない

enchanです。 2014年1月13日くらいから、さくらインターネットからgmailにメールが届か

記事を読む

no image

[PHP] PAERのDBからPDOに移行した

enchanです。 今日は雨。 今までphpとmysqlとの組み合わせではpearのDBを使用し

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

PAGE TOP ↑