09-23-09
ページ内リンクからブラウザの戻るボタンで、Flash Playerが正しく再生されない
つまりどういうことかというと
1.新規ウィンドウ、または新規タブでFlashが載っているページを開く。
2.ページ内リンク、a nameタグで移動する。
※このとき、ブラウザの戻るボタンが押せるようになっているはず。
3.ブラウザの戻るボタンを押す。
4.Flashが正しく表示されてない。
というバグ?を聞いたことがあります。いろいろ調べてみると、どうやらFirefoxやSafariは大丈夫で、IE6と7で確認しました。そのFlashコンテンツは、外部XMLファイルを読み込んで、その中に書かれている画像パスから外部外部画像データをすべて読み込んでから再生する。という仕組みになってて、再生するタイミングで、ステージの最前面に白いシェイプをおいて、そいつに対してdanndannアルファを0%に、フェードアウトして演出していました。
どうやら、戻るボタンを押したときに、なぜかタイムラインが1フレーム目に戻っているようにみられ、最初のフレームにXMLの読み込みや画像の読み込みのAction Scriptは実行済みの状態でした。Flash Playerのキャッシュかブラウザのキャッシュか。。そして、最終的に考えられる条件というのが、「シーン」で再生しているということです。
解決方法
このように、「シーン」のタイムライン上で1フレーム目にいろいろAction Script、諸々の条件で再生。5フレーム目に移動していますね。今回の問題点は、ページ内リンクからブラウザの戻るを押すと、同じページ内に戻ってくるわけですが、Flashは5フレーム目に再生しきっている状態で戻ってしまうわけです。
回避方法は、シーンに1フレームだけにMovieClipをおいて、その中にAction Scriptやコンテンツを置いたら解消されました。ただ、これでは同じページ内に戻ってきているにも関わらず、またXMLを読みにいったり画像をロードしたりすることになってしまいます。ユーザビリティが悪い場合は、「シーン」の1フレーム目に書かれたAction Scriptですべてお完結させれば事済みますが、既に作ってしまっているFlashを修正する場合は、新規シンボルで空のMovieClipを「シーン」1フレーム目に置いて、「シーン」あったAction Scriptやコンテンツは、すべてさっき作った空のMovieClipの中にペーストしてしまいましょう。そして「シーン」には1フレーム目にペーストしたMovieClipがあるだけ。一応これで、ページ内リンクからブラウザの戻るボタンを押したときに挙動がおかしくなるのは避けれると思います。
Related posts
Leave a Comment
LaCie 3.5インチ 外付ハードディスク LaCie grand LCH-GRシリーズ 2TB 14,190円(10,170円OFF)
ActionScript 3.0 イメージエフェクト - スクリプトで作る画像効果アニメーションの次は画像や動画、音に対してのエフェクト演出に関して書かれているみたいです。非常に楽しみです!!!
基本からしっかりわかるActionScript 3.0ActionScript3.0になかなかとっかかれない方むけです。分かりやすい文章とイラストとサンプルでとても読みやすいです。
h concept Cupmenカップメン グリーン D-520-GRカップめんのフタを必死におさえてくれるカワイイやつ!色が変わったらできあがり~♪
Flash Math Creativity, Second Edition




ActionScript 3.0 アニメーション丁寧に解説されているのはもちろん、サンプルを作っていくと後からそのサンプルを応用して作っていく。クラスの仕組みや三角関数や加速度、摩擦など詳しく書かれているので値段の価値はそうとうあると思います。
AGFAPHOTO 503万画素デジタルカメラ Sensor 505Dagfaのトイデジ。あまい機能で作り出す独特な写真が撮れます。晴天のとき本体を動かしながらシャッターを押すとゆがんだ像が撮れてとても面白いです!
SANYO USB出力付きリチウムイオンバッテリー出先でiPhoneの電池がなくなった!そんな時、このバッテリーで3回ぐらいフル充電できます。コンパクトで非常に便利。USB dockケーブルが付属していないのでお忘れなく
「空気読み」企画術
