2

現在、Firefox 拡張機能を開発しています。Firefox の拡張機能では、window.open を呼び出してそのウィンドウの XUL ファイルを指定することで、ウィンドウを表示できます。ダイアログやモーダルにすることができます。しかし、ウィンドウをフレームレス (タイトル バーとウィンドウの境界線なし) にする方法はなく、私はそれを理解しています。また、ウィンドウの本体を透明にすることはできません (ただし、ウィンドウ内のコントロールは透明にできません)。その理由も理解しています。

非標準的な方法で透明なウィンドウを実行するための回避策があることを知っています。ただし、これはウィンドウのフレームを削除しません。私が聞きたいのは、フレームレスで透明なウィンドウを実現する方法を知っている人がいるかどうかです。あるいは、少なくともフレームレス ウィンドウを実現できたのかもしれません。完璧な解決策ではありませんが、何か提案をいただければ幸いです。

ありがとうございました。

編集:

透明またはフレームなしのウィンドウは、ページの HTML に基づくのではなく、Firefox GUI に基づく必要があります (つまり、ページの HTML を変更して、HTML ドキュメントの一部である JavaScript を含むウィンドウを表示するつもりはありません)。現在のページの HTML に基づいていないソリューションはすべて受け入れられます。

4

2 に答える 2

2

Windows でこれを実現することはできません。ただし、xul:panel 要素を使用して目的を達成することはできます。標準の CSS を使用して透明にし、開く場所を制御できます。パネルの詳細については、パネルのポップアップ ガイドを参照してください

于 2009-06-29T22:13:54.887 に答える
0

問題は、これがプラットフォーム間で同じように機能しないことです。ウィンドウの装飾と透明度はウィンドウマネージャーによって制御され、Windows、Linux、およびMacでは異なる方法で実行する必要があります。おそらく、バージョンやサービスパックごとにさえ。

拡張機能にプラットフォーム固有のライブラリを含め、透過的にするウィンドウを制御する必要があります。ウィンドウを透明にするコードはFirefoxに関連付けられていないため、おそらく別の質問で説明する必要があります。

于 2009-06-29T12:02:30.443 に答える