wordpress+lightbox 2+ineternet explorer 9のバグの回避
仕事でwordpress関係のことで躓いたので記録。
問題
対象サイトでInternet exploer 9で閲覧した場合、画面のどこかをクリックすると画面が暗い状態になる。
(light boxで画像をクリックした時に画面が一度暗くなるような状態)
なお、Internet expolorer8 および他のブラウザではこの問題は出なかった。
原因
使用しているwordpressプラグインがInternet explorer9に対応していない。
対策
- 別のプラグインを使う
- 修正されたプラグインを使う
今回は、元のプラグインを入れ替えてどの程度影響が出るかの知識がなかったためプラグインを修正することを選択。
通常であれば別のプラグインを使うほうが楽なはず。
調査
lightboxの配布サイト(http://lokeshdhakar.com/projects/lightbox2/)を見るとver 2.05で上記のバグに対応している。
しかし、http://www.4mj.it/lightbox-js-v20-wordpress/で配布されているwordpressのプラグインはver2.04までしか対応していない。
対策方法が記述されているブログなどがないか調べたが、たいてい他のプラグインに切り替えを選択しているようだった。
対応
現状のwordpressプラグイン内のファイルをver 2.05のファイルと入れ替える。
入れ替えたファイルは/lightbox/jsの3つ
- lightbox.js
- prototyope.js
- scriptaculous.js
また入れ替えによってwordpressに対応していない状態になる。
よって、以前のlightbox.js内にlb_○○の変数が記述されている部分を現在のlightbox.jsに追加する。
現状
とりあえず画面が暗くなることは回避できた。他の動作も問題ないようであった。
メモ
scriptaculous.jsが一番修正されていたのでこちらが変更の主であるのかもしれない。prototypeを入れかえたのは、scriptaculous.js内でprototype.jsのバージョンが指定されていたため。lightboxは2.5からjqueryを採用しているようなのでそちらを採用したかったが、念のためver2.05の方とした。