2009-06-29 5 views
2

現在、Firefoxの拡張機能を開発中です。 Firefoxの拡張機能では、window.openを呼び出してそのウィンドウのXULファイルを指定することで、ウィンドウを表示できます。ダイアログやモーダルにすることができます。しかし、ウインドウを枠なし(タイトルバーとウインドウボーダーなし)にする方法はなく、私はそれを理解しています。また、ウィンドウの本体を透明にすることはできません(しかし、その中のコントロールではありません)。なぜかわかります。フレームなし/透過ウィンドウを表示するためのFirefox拡張機能の作成

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

ありがとうございます。

編集:

透明またはフレームレスウィンドウがFirefoxのGUIに基づいてではなく、ページのHTMLに基づいていなければならない(つまり、私は、ウィンドウを表示するページのHTMLを変更しようとしているわけではありませんHTML文書の一部であるjavascriptで)。現在のページのHTMLに基づいていないソリューションはすべて受け入れられます。

答えて

0

問題は、これがプラットフォーム間で同じように動作しないことです。ウィンドウの装飾と透過性は、ウィンドウマネージャーによって制御され、Windows、Linux、Macでは別の方法で行わなければなりません。おそらく各バージョンとサービスパックでさえ。

拡張機能にプラットフォーム固有のライブラリを組み込み、透明にしたいウィンドウを制御する必要があります。ウィンドウを透過的にするコードはFirefoxには結びついておらず、おそらく別の質問で議論されるべきです。

2

Windowsでこれを行うことはできません。しかし、あなたはxul:panel elementであなたが望むものを達成することができます。標準的なCSSを使用して透過的にしたり、開く場所を制御することができます。パネルの詳細については、the popup guide for themを参照してください。

+0

このメソッドを正常に使用しました。警告:Windowsでは、パネルの境界CSS属性を "none"に設定する必要があります。 –

関連する問題