3

私はしばらくの間、SWFオブジェクトの上にhtml要素を重ねる方法について探していましたが、ついに私が思いついたのは(Abodeによると):-

Internet Explorer:レイヤリングをまったくサポートしていません。

Firefox:レイヤリングをサポートしていません(ただし、機能しましたが、透明性はありません)。

ChromeAdobeはサポートされていないと主張していますが、驚くべきことに、正常に機能し、透明性があります。

Safari(Windows):レイヤリングをまったくサポートしていません。

safari(Mac OS):サポートされています。

wmode="transparent"またはwmode="opaque"を簡単に設定できることを知っています。レイヤリングは問題なく機能します。しかし、3Dコンテンツを含むSWFオブジェクトでは、そのwmodeを「direct」または「gpu」に設定する必要があることがわかりました。

誰かがこの問題の解決策を知っているなら、私はフラッシュでゲームを開発しているので、それをhtml要素でオーバーレイしたいのですが、それが可能かどうかにかかわらず、確固たる答えは見つかりませんでした

前もって感謝します

4

1 に答える 1

2

数回試行した後、Firefox と IE で動作するソリューションを取得しました。ちょっと汚れていますが、場合によっては機能します。

iFrame は swf の上に表示されるので、レイヤー化された html を iframe に追加できます。

さらに進んで、iframe をバックグラウンドに設定することができます。これは、次の html のためにスポットを明確に保つために必要なだけです。HTML:

<div class="box">
<iframe src="emptyframe.html" frameborder="0" class="emptyiframe"></iframe>
<div class="content">
Shown on top
</div>
</div>

CSS:

.box { position: absolute; z-index: 100; background: #fff;}
.emptyiframe { position: absolute; width: 100%; height: 100%; border: none; z-index: -1;     }

このソリューションを使用すると、wmode="direct" を使用してもフラッシュ経由で要素を追加できます。ただし、iframe はフラッシュの上の html の背景にあるため、透明にすることはできないことに注意してください。

于 2013-05-06T13:33:42.743 に答える