<?xml version="1.0"?> <?xml-stylesheet type="text/css" href="chrome://global/skin/"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello." /> </window>
これをopen()で開くと、
のように表示されます。
メインウィンドウのwindow要素への参照は、window.contentで取得できます。Window.content - Web API Interfaces | MDN
属性 | 説明 |
---|---|
accelerated | |
chromemargin | |
disablechrome | |
disablefastfind | |
drawintitlebar | |
fullscreenbutton | |
height | |
hidechrome | |
id | |
lightweightthemes | |
lightweightthemesfooter | |
screenX | |
screenY | |
sizemode | |
title | |
width | |
windowtype |
指定されたurlを、新しいウィンドウで表示します。
newWindow = window.open( url, // ウィンドウで読み込むURL name // ウィンドウの名前 [, features] // ウィンドウの特徴 )window.open - Web API reference | MDN
これは、たとえば次のように使用します。
var newWin = window.open( 'chrome://myPackage/content/sample.xul', '_blank', 'chrome,dialog=no' );
urlはChrome URIで指定します。
open()で開かれたウィンドウは、既定でモードレス (親ウィンドウへのアクセスを制限しない) です。よってnameで'_blank'
以外の名前を指定しない場合、複数のウィンドウが同時に開かれることがあります。これを望まずつねに1つのウィンドウにのみ制限するならば、何らかの名前を明示します。
項目 | 有効化されたときの作用 |
---|---|
chrome | ブラウザのインターフェイス要素は一切表示されない (XUL用) |
dialog | タイトルバーの閉じる以外のボタンを非表示 |
centerscreen | ウィンドウが開かれたとき、画面の中央に表示される |
dependent | 親ウィンドウと相対的な位置関係を維持して表示される (たとえば 'dependent,centerscreen' とすると、親ウィンドウの中央に表示される) |
resizable | ウィンドウのサイズを、ユーザーがリサイズ可能となる (リサイズを認めるならば、その内容物がそれに合わせて伸縮するようにする) |
modal | モーダルとなる (親ウィンドウへのアクセスを認めない) |
alwaysRaised | つねに親ウィンドウの最前面に表示 |
複数の項目は、
'chrome,dialog=no'
のように、空白を含めずにカンマ区切りで指定します。yesかnoで指定する項目で設定値を省略すると、yesとみなされます。
設定値 | yes | no |
---|---|---|
'' (空文字) |
--- | |
'chrome' | ||
'dialog' |
詳細についてはWindow.open()でも解説しています。ただしそちらはJavaScriptの解説のため、Firefox以外のブラウザに関する記述も含まれます。
window.addEventListener( 'load', Func, false );
loadイベントはドキュメントがロードされたときに呼び出されるため、そこで初期設定を行えます。ちなみにwindowはグローバルオブジェクトであるため、それを省略して
addEventListener( 'load', Func, false );
と記述しても同じです。
メイン ウィンドウのloadイベント ハンドラ内での処理時間は、ブラウザのパフォーマンスに重大な影響を及ぼします。起動時 - Appendix A: Add-on Performance - XUL | MDN