[contact-form-7 id="1781" title="ご意見・ご要望・お問い合せ"]

Technical note

swfobject.jsとJQueryのthickboxとIE8で不具合

2010.09.15

タイトル通り、swfobject.jsとJQueryのthickboxとie8の組み合わせで不具合が出ました。とりあえず解決したので記事に残しておきます。

3つの組み合わせで起こる不具合の現象

不具合の現象は、thickboxで画像の表示時に、黒の透過背景の上にflashオブジェクトがのってしまい、flashオブジェクトのみ透けてない状態になります。

表示の違い

解決方法

多分、thickboxかswfobjectのどっちかのz-indexが悪さしてるのかな?と思い調べてみると、細かい事は不明ですが、以下のソースのようにしたら解決しました。

HTML
<script type="text/javascript">
swfobject.embedSWF(
  "hoge.swf", //swfファイルへのパス
  "noFlash",//代替コンテンツを表示するオブジェクトのid
  "600",//表示されるswfの幅
  "600",//表示されるswfの高さ
  "9.0.0",//flashPlayerのバージョン
  "expressInstall.swf",//追加!
  "null",//追加!
  {"wmode":"transparent"} //追加!
);
</script>

swfobject側のflashのパラメータにソース内のコメント、「追加!」の部分を書き足したら、正常に表示されました。 初めは{"wmode":"transparent"} のみ追加してみたけど、改善されず、"expressInstall.swf"、"null"を調べたソースの通りに書いてみたらOK。 とりあえずswfobject.js、JQueryのthickboxとie8の組み合わせには気をつけましょう。