« 2009年6月 | トップページ | 2009年12月 »

2009/07/05

【Flash/ActionScript】navigateToURL()メソッドでJavaScriptを実行すると、history.back()を設定したボタンが効かなくなる件

最近関わっている仕事で、JavaScriptによるhistory.back()によるバックボタンが効かなくなる現象に遭遇しました。調べてみると、Flashファイル内のActionScriptでnaigateToURLメソッドもしくはgetURLメソッド経由でJavaScriptを実行している場合に起こることが分かりました。なお、この現象は、FirefoxやSafariでは発生せず、IE(6,7,8)でのみ発生します。

テストページを下記に準備しました。
http://shimax.cocolog-nifty.com/flash_history/history_start.html

です。

また、Adobe社にバグ報告しました。もし、上記現象をご確認いただけた方で、関心のある方は、このAdobe社のページでvote(投票)をお願いします。

▼現状での推論
Flash Player(ActiveX版)のバグなのか、それとも、IEのバグなのかははっきりしません。

ただ、私は関連性があると考えているのですが、
●[#FP-240] URL Hash added window title in IE - Adobe Bug System
https://bugs.adobe.com/jira/browse/FP-240

で報告されている「URLのお尻に『#』(ハッシュ)があると(#sample)、IEではFlashにフォーカスを与えた瞬間にページタイトルが#sampleになってしまう」問題と同様に、IEのバグでもFlashのバグでも何でもいいから、とにかく直してほしい、というのが開発者の願いだと思います。


http://www.deftrash.com/blog/archives/2006/02/post_18.html

や、
http://d.hatena.ne.jp/nitoyon/20081209/ie_location_hash

にも同様の問題が投稿されています。

このlocation.hash時の挙動と、今回のhistory.back()問題は、同じバグが別の形で現れているものではないかとも感じます。Flash内の履歴管理に何か問題があるのではないでしょうか? IEでは、ページタイトルがHTMLソースで設定されていない場合、URLがタイトルバーに表示されるのは仕様ですが、その仕様にFlashの履歴管理のバグが加わって、おかしなことになっている気がします。




ウイルスチェックが全サービス無料のほか、
 フリーダイヤルによる安心の電話サポートが深夜まで対応している。

| | コメント (0) | トラックバック (0)

« 2009年6月 | トップページ | 2009年12月 »