Entries


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

swfを使いまわしたときにIE6系ブラウザでうまく読みこめず真白になる


同ドメイン内の複数のWebページで一つのフラッシュライブラリを読み込んでいました.ライブラリはhtmlからswfが呼ばれると,そのページに配置されたxmlを読み込み,xmlの情報をライブラリ内に表示する仕組みです.つまり表示するページごとに読み込むxmlを変えておけば,読み込まれるswfが同じにもかかわらず,フラッシュライブラリ内に表示される内容を変えることができるわけです.

本番環境ではFirefoxやIE7は問題なかったのですが,IE6系のブラウザだけうまく表示できませんでした.現象としては,ブラウザを立ちあげてから一番最初にアクセスしたページ内ではswfが正しく表示されるものの,次のページ以降に移動するとswfの領域が真白になってしまい,うまく表示されません.おそらくキャッシュ系の問題だと思われますが原因はよくわかりません.

解決策としては,読み込むswfを複製しておき,別々に配置して,別々に読み込んであげれば解決すると思うですが,スマートじゃないので,ここではパラメータを与えることによって回避しました.

例えばswfを表示するhtmlコードが以下のようなものだったとします.普通にobjectタグを使います.この例ではtest.swfというファイルを読み込んでいるとします.
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="400" id="hoge">
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="test.swf" quality="high" bgcolor="#ffffff" width="400" height="400" name="hoge" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

読み込むswfのパスにパラメータをくっつけてあげます.
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="400" id="hoge">
<param name="movie" value="test.swf?hoge=111111" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="test.swf?hoge=111111" quality="high" bgcolor="#ffffff" width="400" height="400" name="hoge" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

swfの読み込みパスに?hoge=111111というパラメータをつけました.ここでの?hoge=111111のパラメータ自身に意味はありません.読み込まれるswfには影響なく,とりあえずswfを読み込むパスがページごとに変わればいいので,111111と書いている数字部分をページごとに変えてあげます.

ページ遷移の実験したところページ移動が起こってもIE6系のブラウザで読み込まれたswfが表示されるようになりました.

他にいいやり方があったら教えてください.

Appendix

プロフィール

川崎修

  • Author:川崎修
  • インターネット大好き!
    調布周辺で自宅警備してます



    メール:pugiemonn@gmail.com
    skype:pugiemonn
    twilog:Twilog
    mixi:mixi
    facebook:facebook
My Profile by iddy
FC2ブログ

カレンダー

04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

最近の記事

Twitter

コミュニティ

ブログ内検索

ブロとも申請フォーム

この人とブロともになる

Adsense

月別アーカイブ

はてぶ数

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。