3

すべてのページに JavaScript によって作成されたドロップダウン メニューがあり、一部の列には最大 20 項目があります。このドロップダウンは、Mozilla ブラウザのすべてのコンテンツの一番上に表示されますが、Internet Explorer では、ActiveX オブジェクトがそのすぐ下に表示されると部分的に覆われます。

ActiveX を DIV レイヤーに表示して z-index を設定しようとしましたが、これまでのところ、うまくいく解決策が見つかりませんでした。object タグにスタイルを追加しても効果はありませんでした...

<object etc style='z-index:3;'>

オブジェクトを含む DIV にスタイルを適用しても効果はありませんでした...

<div align="center" style="z-index:2;">

ドロップダウン メニューには、z-index=1 が適用されています。オブジェクトに「wmode」パラメーターを追加しても機能しませんでした...

<param name='wmode' value='transparent'>
4

2 に答える 2

1

どうやら問題はインプロセスプラグインとアウトプロセスプラグインです。インプロセスプラグイン(およびActiveX)は、Webページ自体と同じ環境で実行され、z-orderingを尊重します。しかし、進行中はまれです。ほとんどのブラウザはプラグインとActiveXを別々のプロセスで実行するため、Webページは1つのプロセスにあり、ActiveX/プラグインは別のプロセスにあります。ブラウザは、プラグイン/ ActiveXがWebページを含む画面領域にそれ自体を描画することにより、単一のプロセスのように表示しますが、その煙とミラーを理解し、z-orderingは実質的に無視されます。Webページ(メニューを含む)を描画し、次にプラグイン/ActiveXを描画します。

それを回避する唯一の方法(そして常に機能するとは限りません)は、htmlメニューをiframeでラップすることです。

于 2013-01-07T03:56:22.593 に答える