ようやく重い仕事から少しだけ解放されたので懸案事項をやっつけることにします。
以前にもちょいちょいと書いておりましたが、GoogleMapsなどのGoogleAPIを使っているサイトで、Lightbox2を使いたいと思った場合、環境によってはちょいと困った問題に悩まされる場面があります。
例えば<head>~</head>の間に、
などと書いて、GoogleMapsの呼び出しを行ったりするとIE系はかなりの確率で
「インターネット サイト http://addressclub.net/ を開けません。操作は中断されました」
というエラーを吐き出し、真っ白いエラーメッセージ画面を表示してくれちゃったりします。「だからマイクロゲイツは嫌いなんだよ、FirefoxとかSafariとか使っていれば平和だからええもんね!」とバッサリ切れる人であればこの問題はアッサリと解決なのですが、webサイトを作る側の人間はそうも言ってられません。
この手のjavascript系のエラー回避策として、問題の<script>タグ周辺を、</body>タグ(bodyタグの終了)直前に回す方法があります。上記の4行を、</body>直前に引っ越して、再度アクセスすると今度はIEでもエラーは出なくなります。ふぅ、やれやれ。
ところが、です。やっぱりIEはウンコとしか言いようが無いんですけれども、これだとIEではLightbox2がちゃんと動作してくれないのです。画面がフェードして、画像がホワワワ~ンと表示されるべきところを、全てを無視して「次の画面」として画像を表示しやがるんであります。元の画面に戻るにはブラウザーの「戻る」ボタンを押せ、ってね。何年前のwebだそりゃ(´・ω・`)化石やがな。
これを解決するには、ですな。あんまり良い方法とは言えないと思うんですが、「lightbox.js」をちょいと編集して、
最終行の
の後ろに
を追加しましょうか。これで他の部分は弄らなくても、IEでもちゃんとGoogleMaps等とLightbox2の共存ができると思います。
まぁ、ただでさえ重くて動作がモッサリしているLightbox2ではありますので、最初からLiteboxを使うとか、そちらの方がスマートだとは思います。今回は小生のようにLightbox2を入れてしまって、他に乗り換えるのが今のところちょいと面倒ダスよ、という人向けってことで。
もっと良い方法があるよ!という方は是非、ご教示くださいマセ。
