2

Flash 9 を必要とする SWF があり、その上にコンテンツを表示しようとしています。これを容易にするために、wmode を透明に設定しました。問題は、これはユーザーが flash 10 をインストールしている場合にのみ機能することです。私が作業しているサイトのコンテンツを表示するために flash 10 を要求したくありません。Flash 9 でフラッシュ コンテンツ上に div をプルアップすると、swf が div に流れ込むか、完全に上書きします。

フラッシュ 10 をユーザー要件にせずに、これを防ぐにはどうすればよいですか?

swfobject を使用して swf を埋め込み、jquery-ui を使用してフラッシュ コンテンツ上に div を表示しています。

編集:

この障害動作は、Safari でのみ記録されます。

4

5 に答える 5

3

wmode transparent は何年もの間 Flash の一部であり、Flash Player 10 に限定されません。

とにかく、wmode transparent; を使用する必要はありません。SWF で透過性が本当に必要でない限り、代わりに wmode opaque を使用する必要があります。バグが少なく、処理能力が少なくて済みます。

秘訣は、HTML 要素に CSS で指定された「位置」があることも確認することです。

ここの例と手順に従ってみてください: http://learnswfobject.com/advanced-topics/placing-html-elements-over-a-flash-movie/

于 2009-07-31T21:56:35.513 に答える
2

これがあなた自身に役立つかどうかはわかりません。しかし、次の方法を使用して、コンテンツをフラッシュで表示しました。

私はしばらく前にこの問題に直面していました。サイトに登録するための利用規約のポップアップをユーザーに表示することでした。ポップアップは正常に表示されましたが、ページの上部にフラッシュ ムービーが表示され、ダイアログの上部が隠れていました。テスト済みで広く使用されている方法は、コンテンツを表示したい場所に Iframe を配置し、コンテンツと IFrame を絶対位置に配置することです。たとえば、Flash ムービーの上に div を表示する場合は、次のように IFrame を配置します。

    <iframe style="position:absolute;top:250;left:150;"></iframe>

次に、この iframe の真上に div を配置します。

    <div style="position:absolute;top:250;left:150;"></div>

ページでjqueryを使用して、ui.dialogプラグインを使用してダイアログを表示していました。いつか浮気した後、次の簡単な解決策を考案しました。

1) 映画オブジェクトを一意に識別するために、movie 要素に id 属性を設定します。お気に入り、

<object id="movie1"></object>

2) ダイアログ (またはその他のコンテンツ) を表示する前に、javascript 関数を呼び出してムービーを非表示にします。お気に入り、

$("#movie1").css("display","none");

3) ダイアログを表示します。お気に入り、

$("#dialog").dialog("open");

4) ダイアログを閉じた後、再度ムービーを表示します。お気に入り、

  $("#dialog").dialog("close");
  $("#movie1").css("display","inline"); 
于 2009-09-06T15:54:42.867 に答える
1

問題を解決できるアドバイスを提供することはできないため、代わりに問題を回避することをお勧めします。

z-index のフラッシュ コンテンツの上に (x)html コンテンツを配置するのではなく、

+------------+
|            |
| +-------------+
| |   html      |
| |             |
| +-------------+
|   Flash    |
+------------+

ウィンドウの Flash の上に (x)html コンテンツを配置する代わりに、次のようにします。

+------------+
|  html      |
|            |
+------------+
+------------+
|            |
| Flash      |
|            |
|            |
|            |
|            |
+------------+

これは理想的ではありませんが、少なくとも Flash/html がよりうまく共存できるようになるまでは、実行可能なソリューションを提供します。

于 2009-09-04T12:56:47.503 に答える
-1

wmode パラメータを opaque に設定してみてください。Flash が関係している場合、HTML レイヤー/深さの問題の多くを解決するようです。

于 2009-09-04T12:46:09.227 に答える
-1

これはブックマークで見つけました (10 より前の時代のものです)。私は今これを検証するための Flash Player 9 / Safari を持っていません。試してみます。

ブラウザごとに異なる WMode

pipwerks が言ったように、WMode はこれを制御する必要がありますが、すべてのプラットフォーム/ブラウザーがそれらを正しく処理するわけではありません。その場合、これは Safari/Flash9 の障害であり、修正できないと考えます。

于 2009-09-04T12:37:05.217 に答える