2009-07-22 17 views
1

私は、ユーザーがあるタイプのリンクや要素をクリックするまでdivで非表示にしたいflexアプリケーションを持っています。 swfをスタイル表示でdivに埋め込むことに気づいた:noneは実際にswfを隠すわけではないので、どうすればこれを達成するのだろうか?div内のswfを非表示にする/表示する

目標は、ユーザーが他のことをしている間にフレックスアプリをバックグラウンドで読み込ませることです。おかげさまで

答えて

2

私はフラッシュを必要とするとき、私は必要に応じて、幅、高さ/再設定されます。 hwを "100%"にリセットしたい場合は親コンテナに入れたいかもしれません。親コンビネーションにバインドされる "position:relative; height:?px; width:?px"設定します。

5

wmodeをフラッシュオブジェクトに設定してみて、visibility: hidden;も使用してください。デフォルトでは

<param name="wmode" value="opaque" /> 
<embed ... wmode="opaque" ... /> 

、フラッシュが基本的である、あなたのコンテンツの上にウィンドウをオーバーレイ:

  1. があなたのページに何よりも大きいのzインデックスを持つ
  2. 親から表示を継承しません(display: none; visibility: hidden;から<object>タグに設定すると動作します)。 opaquewmodeを設定することにより

、それは基本的に通常の継承とzインデックスのルールに対応し、通常のDOMタグ、としてあなた<object>を治療するためにフラッシュを伝えます。それは非常に小さなパフォーマンスコストを持っています。

また、一部のブラウザでは、表示されるまでオブジェクトが読み込まれないことに注意してください。私は通常ちょうどその後

... 1つのピクセルで1に

<div style="height:1px; width:1px;" >... flash goes here ...<div> 
をコンテナの高さ/幅を強制

+0

これはIE8、IE6、またはOperaでは機能しません。表示:埋め込みswfを隠すことができません。 私はすべてのブラウザで本質的に動作する必要があります。 (Opera、chrome、IE6/7/8、Firefox3/3.5/3.5.1、Safari 3+) –

+1

** @ iftrue:**私のポストを更新しました。あなたは常に 'display:none;を設定しようとするかもしれません。可視性:非表示; 'オブジェクトタグ自体には、しかし、私は過去に指定されたブラウザで問題なく' wmode'を使用しています。 –

+0

結論として、複数のjavascriptインクルードによって隠されていた特別なフラッシュ展開プロセスがありました。正しい場所でwmodeを使用すると、うまくいきました:)。 –

関連する問題