Visit Mozilla.org

XUL:tabbrowser

出典: MDC

« XUL リファレンス HOME    [ | 属性 | プロパティ | メソッド | 関連項目 ]

この要素は Web ドキュメントの読み込み専用表示の一式を保持するために使用されます。これは browser 要素に似ていますが、複数のドキュメントをそれぞれ区切られたタブで表示できます。この要素は tabbox 内の browser 要素の一式として実装されています。

註: <tabbrowser> は Firefox のメインウィンドウのみで使用され、サードパーティ製のアプリケーションや Firefox 3 (XULRunner/Gecko 1.9) 以降の拡張機能による他の XUL ウィンドウで使用することはできません。
属性
autocompleteenabled, autocompletepopup, autoscroll, contentcontextmenu, contenttooltip, handleCtrlPageUpDown, onbookmarkgroup, onnewtab
プロパティ
browsers, canGoBack, canGoForward, contentDocument, contentTitle, contentViewerEdit, contentViewerFile, contentWindow, currentURI, docShell, documentCharsetInfo, homePage, markupDocumentViewer, securityUI, selectedBrowser, selectedTab, sessionHistory, tabContainer, webBrowserFind, webNavigation, webProgress
メソッド
addProgressListener, addTab, appendGroup, getBrowserAtIndex, getBrowserIndexForDocument, getBrowserForDocument, getBrowserForTab, getNotificationBox, goBack, goBackGroup, goForward, goForwardGroup, goHome, gotoIndex, loadGroup, loadOneTab, loadTabs, loadURI, loadURIWithFlags, reload, reloadAllTabs, reloadTab, reloadWithFlags, removeAllTabsBut, removeCurrentTab, removeProgressListener, removeTab, replaceGroup, stop

[編集]

[編集] XUL コード

注: この例は Firefox 1.5 でのみテストされています。Firefox 1.5 と Firefox 2.0 のタブブラウザの違いについての詳しい情報は、Code snippets:Tabbed browser をご覧ください。

下記の例は、それぞれ tabpanel 要素の代わりに browser 要素を含む三つのタブを持つ tabbox です。ページが読み込まれると最初のタブに HTML コンテンツが読み込まれ、その間、他の二つのタブは空です:

<vbox>
  <tabbox id="tabBrowser">
    <tabs>
      <tab label="Tab1"/>
      <tab label="Tab2"/>
      <tab label="Tab3"/>
    </tabs>
    <tabpanels width="500" height="500">
      <browser id="browserTab1" src="http://www.mozilla.org"/>
      <browser id="browserTab2"/>
      <browser id="browserTab3"/>
    </tabpanels>
  </tabbox>
  <hbox>
    <button id="btnLoadBrowserContent"  
            label="Load URL" oncommand="loadURL(document.getElementById('browserTab2'),'http://developer.mozilla.org')"/>
  </hbox>
</vbox>

[編集] JavaScript

下記のコードは、ユーザが "Load URL" ボタンをクリックして oncommand イベントが発動した時、id="browserTab2" を持つ browser の src 属性を http://developer.mozilla.org への URL に設定します。

function loadURL(browserElem,pUrl) {
    //modify the src attribute of the browser element
    browserElem.setAttribute("src",pUrl);
}

[編集] 属性

XUL 要素からの継承
align, allowevents, allownegativeassertions, class, coalesceduplicatearcs, collapsed, container, containment, context, contextmenu, datasources, dir, empty, equalsize, flags, flex, height, hidden, id, insertafter, insertbefore, left, maxheight, maxwidth, menu, minheight, minwidth, mousethrough, observes, ordinal, orient, pack, persist, popup, position, preference-editable, querytype, ref, removeelement, sortDirection, sortResource, sortResource2, statustext, style, template, tooltip, tooltiptext, top, uri, wait-cursor, width

autocompleteenabled
型: boolean
フィールドの自動補完を有効にするには true に設定してください。

autocompletepopup
型: popup 要素の id
popup 要素の id は、要素のための自動補完の候補を保持します。

autoscroll
型: boolean
この browser の自動スクロールを無効にするには false に設定します。この属性を true に設定するか省略した場合、自動スクロールが有効になるか、ユーザ設定の general.autoScroll に従います。

contentcontextmenu
型: menupopup 要素の id
tabbrowser 内のコンテンツ領域のためのコンテキストメニューへの参照。

contenttooltip
型: tooltip 要素の id
tabbrowser 内のコンテンツ領域で使用される tooltip 要素への参照。

handleCtrlPageUpDown
型: boolean
true に設定するか省略した場合、Ctrl を押下しながら Page Up または Page Down キーを押下すると、次のタブや前のタブに切り替えられます。この属性を false に設定した場合、これらのキーはタブ操作を行いません。

onbookmarkgroup
Firefox では使用不可
型: script code
このコードは、ユーザが "すべてのタブをブックマーク" コマンドを選んだ時に実行されます。

onnewtab
Firefox では使用不可
型: script code
このスクリプトは new tab ボタンがクリックされた時に呼び出されます。

[編集] プロパティ

XUL 要素からの継承
align, allowEvents, boxObject, builder, className, collapsed, contextMenu, controllers, currentItem, database, datasources, dir, flex, height, hidden, id, left, listBoxObject, maxHeight, maxWidth, menu, minHeight, minWidth, observes, ordinal, orient, pack, persist, ref, resource, statusText, style, tooltip, tooltipText, top, value, width

DOM 要素からの継承
attributes, childNodes, cloneNode, firstChild, lastChild, localName, namespaceURI, nextSibling, nodeName, nodeType, nodeValue, ownerDocument, parentNode, prefix, previousSibling, tagName

browsers
型: browser 要素のノードリスト
tabbrowser 内の browser 要素のリストを保持します。

canGoBack
型: boolean
セッション履歴で前のページに移動できるとき、このプロパティは true になり、Back ボタンが有効になります。このプロパティは読み取り専用です。

canGoForward
型: boolean
セッション履歴で次のページに移動できるとき、このプロパティは true になり、Forward ボタンが有効になります。このプロパティは読み取り専用です。

contentDocument
型: document
この読み取り専用のプロパティは要素内の document オブジェクトを含みます。

contentTitle
型: string
この読み取り専用のプロパティは browser 内の document オブジェクトの title を含みます。

contentViewerEdit
型: nsIContentViewerEdit
この読み取り専用のプロパティは、document 上のクリップボード操作を扱う nsIContentViewerEdit を含みます。

contentViewerFile
型: nsIContentViewerFile
document の nsIContentViewerFile インタフェースへの参照。

contentWindow
型: window
この読み取り専用のプロパティは要素内の window オブジェクトを含みます。

currentURI
型: nsIURI
この読み取り専用のプロパティは現在読み込まれている URL を含みます。URL を変更するには loadURI メソッドを使用してください。

docShell
型: nsIDocShell
この読み取り専用のプロパティは document の nsIDocShell オブジェクトを含みます。

documentCharsetInfo
型: nsIDocumentCharsetInfo
この読み取り専用のプロパティは document の nsIDocumentCharsetInfo オブジェクトを含みます。このオブジェクトは document の表示に使用される文字セットを扱うために使用します。

homePage
型: ホームページ URL の string
このプロパティはユーザのホームページ設定の値を保持します。

markupDocumentViewer
型: nsIMarkupDocumentViewer
この読み取り専用のプロパティは、document を描画する nsIMarkupDocumentViewer を含みます。

securityUI
型: nsISecureBrowserUI
この読み取り専用のプロパティは、読み込まれた document のセキュリティレベルを決定するオブジェクトを含みます。

selectedBrowser
型: browser 要素
この読み取り専用のプロパティは、現在表示されている browser 要素を返します。

selectedTab
型: tab 要素
現在選択されたタブへの参照。これは常に tabs 要素内の tab 要素の一つになります。現在選択されたタブを変更するには、このプロパティに値を割り当ててください。

sessionHistory
型: nsISHistory
この読み取り専用のプロパティは、セッション履歴を保持する nsISHistory オブジェクトを含みます。

tabContainer
型: tabs 要素
tab を含む tabs 要素を返します。

webBrowserFind
型: nsIWebBrowserFind
この読み取り専用のプロパティは、document 内のテキストの検索に使用することができる nsIWebBrowserFind オブジェクトを含みます。

webNavigation
型: nsIWebNavigation
この読み取り専用のプロパティは document の nsIWebNavigation オブジェクトを含みます。このメソッドのほとんどは、goBackgoForward のように要素自身から直接呼び出せます。また、reloadWithFlags および loadURIWithFlags によって使用される読み込み定数を含みます。

webProgress
型: nsIWebProgress
この読み取り専用のプロパティは、document 読み込みの進捗をモニターする nsIWebProgress オブジェクトを含みます。

[編集] メソッド

XUL 要素からの継承
blur, click, doCommand, focus, getElementsByAttribute

DOM 要素からの継承
addEventListener, appendChild, dispatchEvent, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, hasAttribute, hasAttributeNS, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, removeEventListener, replaceChild, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS

addProgressListener( listener )
戻り値の型: 戻り値なし
読み込まれた document をモニターする進捗リスナーを browser に追加します。進捗リスナーは nsIWebProgressListener インタフェースを実装しなければなりません。

addTab( URL, referrerURI, charset, postData, owner, allowThirdPartyFixup )
戻り値の型: tab 要素
指定した URL のページを読み込む新しいタブを開きます。残りの引数は任意です。必要に応じてタブバーが表示されます。
例は Code snippets:Tabbed browser をご覧ください。
文字列から postData を準備するには Preprocessing POST Data をご覧ください。

appendGroup( group )
戻り値の型: 戻り値なし
Firefox では使用不可
いくつかの新しいタブを既存のタブの次に追加します。引数は、タブに読み込む各ドキュメントオブジェクトの配列です。オブジェクトはスクリプトで定義され、読み込むページの URL のURI プロパティを含みます。referrerURI プロパティは、リファラページを設定するために任意で使用されます。

getBrowserAtIndex( index )
型: browser 要素
指定した tab index の位置の browser を返します。

getBrowserIndexForDocument( document )
型: integer
指定した document の browser の index を返します。

getBrowserForDocument( document )
型: browser 要素
指定した document の browser を返します。

getBrowserForTab( tab )
型: browser 要素
指定した tab 要素の browser を返します。

getNotificationBox( browser )
型: notificationbox 要素
指定した browser 要素の notificationbox を返します。

goBack()
戻り値の型: 戻り値なし
履歴内のページを一つ戻ります。

goBackGroup()
Firefox では使用不可
戻り値の型: 戻り値なし
前のタブグループへ戻ります。

goForward()
戻り値の型: 戻り値なし
履歴内のページを一つ進みます。

goForwardGroup()
Firefox では使用不可
戻り値の型: 戻り値なし
次のタブグループへ進みます。

goHome()
戻り値の型: 戻り値なし
ユーザのホームページを browser に読み込みます。

gotoIndex( index )
戻り値の型: 戻り値なし
与えられた index を持つ履歴内のページへ移動します。先へ進むには正の整数、前へ戻るには負の整数を使用します。

loadGroup( group )
Not in Firefox
戻り値の型: 最初の tab
ページのグループを複数のタブに読み込みます。これらは browser.tabs.loadGroup 設定の状態によって、それぞれ追加、または置き換えられます。引数は、タブに読み込む各ドキュメントオブジェクトの配列です。オブジェクトはスクリプトで定義され、読み込むページの URL の URI プロパティを含みます。referrerURI プロパティは、リファラページを設定するために任意で使用されます。この関数は最初に読み込まれたタブへの参照を返します。

loadOneTab( URL, referrerURI, charset, postData, loadInBackground, allowThirdPartyFixup )
戻り値の型: tab 要素
指定した URL のページを読み込む新しいタブを開きます。残りの引数は任意です。このメソッドは addTab と同じ動作をしますが、loadInBackground 引数で新しいタブを前面と背面のどちらに開くかを選ぶことができます。また、owner タブは自動的に指定されるため、owner 引数はありません。

loadTabs( uris, loadInBackground, replace )
戻り値の型: 戻り値なし
uris 配列で指定された URI のセットをタブに読み込みます。loadInBackgroundtrue の場合、これらのタブは背面に読み込まれます。replacetrue の場合、タブを追加する代わりに、現在表示されているタブが指定した URI に置き換えられます。

loadURI( uri, referrer, charset )
戻り値の型: 戻り値なし
与えられた referrer と charset で URL を document に読み込みます。

loadURIWithFlags( uri, flags, referrer, charset, postData )
戻り値の型: 戻り値なし
引数に指定した読み込みフラグ(flags) および与えられたリファラ(referrer)、文字セット(charset)、POST データで URL を document に読み込みます。reloadWithFlags メソッドで許可されたフラグに加え、次のフラグも有効です。
  • LOAD_FLAGS_IS_REFRESH: このフラグは、meta タグの refresh や redirect によって URL が読み込まれたときに使用されます。
  • LOAD_FLAGS_IS_LINK: このフラグは、ユーザがリンクをクリックして URL が読み込まれたときに使用されます。これに応じて HTTP Referer ヘッダが設定されます。
  • LOAD_FLAGS_BYPASS_HISTORY: URL をセッション履歴に追加しません。
  • LOAD_FLAGS_REPLACE_HISTORY: セッション履歴内の現在の URL を新しいものと置き換えます。このフラグはリダイレクトに使用されます。

(referrer および postData 引数の詳細は nsIWebNavigation.loadURI() をご覧ください。)

reload()
戻り値の型: 戻り値なし
browser 内の document を再度読み込みます。

reloadAllTabs()
戻り値の型: 戻り値なし
すべてのタブのコンテンツを再度読み込みます。

reloadTab( tab )
戻り値の型: 戻り値なし
指定したタブのコンテンツを再度読み込みます。

reloadWithFlags( flags )
戻り値の型: 戻り値なし
browser 内の document を与えられた読み込みフラグ(flags) で再度読み込みます。下記のフラグが使用されます。これらはすべて webNavigation プロパティ (または nsIWebNavigation インタフェース) の定数です。記号( | ) を使用してフラグを組み合わせることができます。
  • LOAD_FLAGS_NONE: 特別なフラグなし。document は普通に読み込まれます。
  • LOAD_FLAGS_BYPASS_CACHE: ページを再度読み込みます。ページがキャッシュ内にあっても無視されます。このフラグは reload ボタンが Shift キーを押しながら押下されたときに使用されます。
  • LOAD_FLAGS_BYPASS_PROXY: プロクシサーバを無視してページを再度読み込みます。
  • LOAD_FLAGS_CHARSET_CHANGE: このフラグは、文字セットが変更されたため document を再度読み込む必要がある場合に使用されます。

removeAllTabsBut( tabElement )
戻り値の型: 戻り値なし
指定したタブを除くすべてのタブパネルを削除します。一つのタブページのみが表示されている場合、このメソッドは何もしません。

removeCurrentTab()
戻り値の型: tab 要素
現在表示されているタブページを削除します。一つのタブのみが表示されている場合、このメソッドは何もしません。

removeProgressListener( listener )
戻り値の型: 戻り値なし
進捗リスナーを browser から削除します。

removeTab( tabElement )
戻り値の型: 戻り値なし
与えられた tab 要素に対応する特定のタブ化されたページを削除します。一つのタブのみが表示されている場合、このメソッドは何もしません。必要に応じて、タブが一つしかない場合はタブバーが折り畳まれます。

replaceGroup( group )
Firefox では使用不可
戻り値の型: セッション履歴オブジェクトの配列
既存のタブを新しいセットで置き換えます。置き換え前のタブのほうが多い場合は、余りのタブは削除されません。先に既存のタブを削除して完全に置き換えるには removeTab メソッドを使用してください。引数は読み込む各ドキュメントオブジェクトの配列です。オブジェクトはスクリプトで定義され、読み込むページの URL の URI プロパティを含みます。referrerURI プロパティは、リファラページを設定するために任意で使用されます。このメソッドは、削除されたタブのセッション履歴オブジェクトの配列を返します。

stop()
戻り値の型: 戻り値なし
中止ボタンの押下と同じです。このメソッドは現在の document の読み込みを中止します。

[編集] 関連項目