1

ここに表示されているバグの原因となっている根本的な問題に誰かが光を当てるのを手伝ってくれることを願っています:

ここに画像の説明を入力

ご覧のとおり、FusionChart は、開いたときに Modalbox の上に誤ってオーバーレイされています。この問題は Google Chrome でのみ発生します。他のすべてのブラウザは問題ありません。

ここで根本的な問題に関するアイデアはありますか? そして、何ができるでしょうか?

4

2 に答える 2

2

前回、Flash の上に div をオーバーレイすることをいじりました (何が起こっているのか)。Linux 以外のすべてのプラットフォームで動作させることができました。Linux ディストリビューションを使用していますか? そうでない場合、解決策は通常 wmode="transparent" を埋め込みに追加することです。

それ以外の場合、唯一の解決策は .style.display="none"; を設定することです。Modalbox が表示されているときはいつでも FusionChart で .style.display=""; Modalbox が閉じられたとき。

于 2011-03-17T05:42:44.883 に答える
2

Flash オブジェクトが他のすべての HTML 要素の上に表示される場合、最も可能性が高いのは、Flash ムービーのウィンドウ モード (wMode) パラメータが「window」に設定されているためです。

FusionCharts では、次の 2 つの方法で wMode を設定できます。

A. .setTransparent()JavaScript 関数の使用

setTransparent(false)ウィンドウ モードを「不透明」に変更し、FusionCharts がモーダル ウィンドウとライトボックスの上に表示される問題を解決します。

setTransparent(true)も同じ目的を果たします。wMode を「透明」に設定します。(「window」以外の wMode の任意の値でうまくいきます。)

JavaScript の例:

var myChart = new FusionCharts( "FusionCharts/Column3D.swf",
      "myChartId", "400", "300", "0", "1" );
  myChart.setXMLUrl("Data.xml");
  myChart.setTransparent(false); // wMode を不透明に設定
  myChart.render("chartContainer");

FusionCharts 3.2以降、設定setTransparent(null)するとwModeが「window」に復元されますが、あなたのケースではそれをしたくないでしょう! :)

B.wMode新しい FusionCharts の構築中にプロパティを使用する

また、FusionCharts 3.2 ではオブジェクト スタイルの構築方法が導入されたため、wMode の値はnew FusionCharts(...)wMode: 'opaque'

于 2011-03-18T11:26:46.640 に答える