3

状況: HTML ページに埋め込まれた .swf があり、.swf 内の何かをクリックすると、クロムレス ウィンドウをポップアップする必要があります。通常、これはかなり簡単ですが、ポップアップブロッカーが有効になっている間、すべての 'window.open' 機能を完全に無効にする Safari を考えてみましょう (機能がオンクリックでトリガーされた場合は例外になりますが、フラッシュでのクリックはカウントされません)。 . window.open を実行しないブラウザーに対して、適切に機能を低下させる (別のほぼ同等のエクスペリエンスを提供する) ものを作成するにはどうすればよいでしょうか?

(注: これは AS3 であり、私たちが話しているのは PC または Mac 用の Safari 3 ですが、より広義には、JavaScript の window.open 関数をサポートしていない、または許可を拒否しているブラウザーです。)

4

2 に答える 2

1

wmode='opaque'またはを使用して SWF をロードする場合、SWF 領域上に配置さwmode='transparent'れる空の を作成する SWF 出力 JavaScript コードを作成できます<div>。その後、イベントを<div>処理しonclick、Flash コードではなくポップアップ ウィンドウを作成できます。

于 2008-11-24T03:02:31.947 に答える
0

div オーバーレイは、プロジェクトにふさわしいものよりも複雑でした。私が思いついたコードについては、code.google.com/p/popupfromflashをチェックしてください。

これは、ExternalInterface を使用して window.open 関数をセットアップしようとします。それが失敗した場合 (特に Safari で)、フラッシュにコールバックし、navigateToURL を実行してウィンドウを通常どおり (クロムレスではなく) ポップアップするように求めます。

于 2010-02-26T00:46:27.663 に答える