1

div にフラッシュ ファイルがあります。この div は可視 ( display:block;) に設定されます。div には 2 つの姉妹 div があります。3 つの div はすべて、カスタム ビルドの jQuery タブによって制御されるため、別のタブをクリックすると、現在表示されている div が に変わりdisplay:none;ます。タブを再クリックしてフラッシュ div を に設定するdisplay:blockと、フラッシュ ファイルは保存されているすべての値を失います (たとえば、テキストエリアでは、すべてのテキストがリセットされ、要素が画像へのパスを保存している場合はリセットされます)。 .

のような他の方法を試してみwidth:0; height:0;ましたが、フラッシュ ファイルは他の 2 つの div よりも大きいため、下にまだ表示されています。それで試してみoverflow:hidden;ましたが、上記と同じ問題が引き続き発生します(値が失われます)。

visibility:hiddenフラッシュ ファイルがあるはずの場所に大きな空白があるため、適用できません。

position:absolute; top:-800px; left:-600px;変数を失います。

border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;変数も失います。

他に使用できる方法はありますか?私も持っていwmode=transparentます。

以下は私のフラッシュ埋め込みのコードです:

<object wmode="transparent" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="690" height="2047" id="gdh_v3_1" align="middle">
            <param  name="allowScriptAccess" value="sameDomain" />
            <param name="movie" value="gdh_v4.swf?rnd=6389" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#ffffff" />
            <param name="wmode" value="transparent"> 
            <param name="FlashVars" value="forcecrop=False&submitted=False&headerfile=&footerfile=&xmlfile=<?php echo $_GET['adfolder'];?>.xml&adfolder=<?php echo $_GET['adfolder'];?>&pics=gld101cc%2Ejpg%2C" />
            <embed wmode="transparent" src="gdh_v4.swf?rnd=6389" FlashVars=forcecrop=False&submitted=False&headerfile=&footerfile=&xmlfile=<?php echo $_GET['adfolder'];?>.xml&adfolder=<?php echo $_GET['adfolder'];?>&pics=gld101cc%2Ejpg%2C" quality="high" bgcolor="#ffffff" width="690" height="2047" name="gdh_v4" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
        </object>
4

2 に答える 2

2

私は何年も前に同じ問題を抱えていました。両方のアプローチを使用する必要があると思います。height:0およびvisibility:hidden。高さが 0 に設定されている場合、例外を追加することができます。

これがサンプルコードです

oldTabはデフォルトで 1 に設定されているグローバル変数であると想定し、newTクリック イベントによって設定されます。

if(newT != oldTab){
  if($.browser.msie){
    window.document.getElementById("t"+ oldTab).style.display = "none";
    window.document.getElementById("t"+ newT).style.display = "block";
  }
  else{
    window.document.getElementById("t"+ oldTab).style.height = "0px";
    window.document.getElementById("t"+ oldTab).style.visibility = "hidden";

    window.document.getElementById("t"+ newT).style.height = "auto";
    window.document.getElementById("t"+ newT).style.visibility = "visible";
  }
  oldTab = newT;
}
于 2011-08-17T10:55:54.777 に答える
1

SharedObjects (AS3) を使用するオプションはありますか? そこに変数を保存するだけです。

var sh:SharedObject = SharedObject.getLocal("something");

// set values
sh.data.someVar = "Some value";

ここでの唯一の問題は、将来いつでもあなたのサイトを表示した場合に値が残ることです (これはあなたの場合は良いことではないかもしれませんが、素晴らしいものかもしれません)。

于 2011-08-17T08:17:07.900 に答える