2009-06-05 7 views
0

私は完全なFlash n00bですが、難しかったです。ここで私の質問を投稿することは効果的ではないかもしれません。Flash:Internet Explorer以外のすべてで不正な動作

私のクライアントはFlashイントロ(yuck!)を望んでいたので、サイトの他のページへのリンクを含むメニューが表示されるようにしました。迷惑な訪問者を最小限に抑えるために、私はクッキーを使用してユーザーが既にホームページにいるかどうかを判断し、そうであればアニメーション全体をスキップしてメニューを表示します。

私はActiveContent JavaScriptライブラリを使用してFlashをマイページに埋め込みました。クエリ文字列(たとえば、myflash.swf?animation=false)を使用してFlashファイルに値を渡しています。gotoAndPlay()を使用してその値を読み込んだときに、Flashでアニメーションの最後のフレームにジャンプします。私はActionScript 3を使用しています。

Internet Explorer 8とIEのみで、意図したとおりに動作します。残念なことに、他のブラウザはこれを行いません。彼らはすべて完全なアニメーションを表示します。 Cookieが正常に動作していますが、FlashがgotoAndPlayコマンドを完全に無視しているようです。

私は何をしているのか分からないので、おそらくこれは間違っています。私が言ったように、これはコードの巨大な塊を掲示することなくロングショットであることは知っていますが、誰もがアイデアを持っていますか?

答えて

0

フラッシュは正しく動作しているようです(IEで動作しているため)。何らかの理由で他のブラウザからパラメータがフラッシュに渡されません。私はあなたが実際にあなたが期待しているパラメータを取得していることを確認するためにフラッシュで何かを追加することをお勧めします。次に、さまざまなブラウザをチェックして、合格しているかどうかを確認します。

フラッシュを埋め込むために使用しているActiveContentコールを投稿できる場合は、引数がフラッシュムービーにどのように渡されているかに問題がないかどうかを確認するのに役立ちます。

1

フラッシュバグはありませんから、変数を埋め込みコードに渡すというアイデアを各ブラウザがどのように扱うかに違いがあると思います。これはおそらく任意の特定のブラウザで修正可能ですが、すべてのブラウザで動作する修正プログラムは、(古いブラウザでは)髪の毛がかかっている可能性があります。そしてもちろん、あなたがすべてを試すまであなたが安全であることは決して実感できません。

SharedObjectを見るともっと頑丈になります。 SOは本質的にクッキーですが、Flash Playerはブラウザーを介さずに、それ自身を保管して取得します。 (これらもシリアル化されていないので、ブール値などを格納するだけです)。これは、ブラウザが埋め込みコードを処理する方法の違いを回避します。また、たとえ視聴者がIEでサイトをチェックしてFirefoxで後で開いても、イントロをすでに見たことがあると言えます。

関連する問題