Home > XUL Apps > Tabbrowser Extensions > Information for Developers

Tabbrowser Extensions: Information for Developers XULアプリ開発者å‘ã‘ã®æƒ…å ±

Documents 関連文書

タブブラウザ拡張ã«é–¢ã™ã‚‹ãƒ—レゼンテーション
Mozilla.Party.jp 4.0ã®XULコンテスト用ã«ç”¨æ„ã—ãŸè³‡æ–™ã§ã™ã€‚タブブラウザ拡張ã®å®Ÿè£…ã«ã¤ã„ã¦è§£èª¬ã—ã¦ã„ã¾ã™ã€‚

Extra Methods and Properties æ‹¡å¼µã•ã‚Œã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã¨ãƒ—ロパティ (2004-08-10)

以下ã«ã€ã‚¿ãƒ–ブラウザ拡張導入後ã«æ‹¡å¼µã•ã‚Œã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ãƒ»ãƒ—ロパティã®ä¸€éƒ¨ã‚’示ã—ã¾ã™ã€‚マウスジェスãƒãƒ£ã‚„カスタマイズå¯èƒ½ãªãƒœã‚¿ãƒ³ã«æ©Ÿèƒ½ã‚’割り付ã‘ãŸã‚Šã€è‡ªä½œã®XULアプリãªã©ã§ã‚¿ãƒ–ブラウザ拡張ã¨ã®é€£æºã‚’è¡Œã†å ´åˆã«ã€å‚考ã«ã—ã¦ä¸‹ã•ã„。

プロパティå 型・種別 説明
tab widget
tabId 文字列 (readonly) ãã®ã‚¿ãƒ–ã«ä»˜ã‘られãŸID。タブã®è¦ç´ ãƒŽãƒ¼ãƒ‰ã¸ã®å‚照を使ã†ã¨ãƒ¡ãƒ¢ãƒªãƒªãƒ¼ã‚¯ãŒç™ºç”Ÿã™ã‚‹ã“ã¨ãŒã‚ã‚‹ãŸã‚ã€ã‚¤ãƒ™ãƒ³ãƒˆãªã©ã§å¯¾å‡¦ã®ã‚¿ãƒ–を特定ã™ã‚‹ã®ã«ã¯ã€ã“ã®IDを使用ã™ã‚‹ã®ãŒæœ›ã¾ã—ã„(tabbrowserウィジェットã®getTabByTabId()メソッドã§ã€IDã‹ã‚‰ã‚¿ãƒ–を特定ã§ãる)。
childTabs è¦ç´ ãƒŽãƒ¼ãƒ‰ã®é…列 (readonly) ãã®ã‚¿ãƒ–ã®ç›´æŽ¥ã®å­ã¨ã—ã¦é–¢é€£ä»˜ã‘られãŸã‚¿ãƒ–ã®é…列。タブグループモードã§ãªã„å ´åˆã‚„å­ã‚’æŒã£ã¦ã„ãªã„タブã®å ´åˆã¯ã€é•·ã•0ã®é…列。tabbrowserã®attachTabTo()ã¨detachTab()を使ã£ã¦ç·¨é›†å¯èƒ½ã€‚
hasChildTabs() メソッド ãã®ã‚¿ãƒ–ãŒå­ã‚¿ãƒ–ã‚’æŒã£ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’示ã™çœŸå½å€¤ã‚’è¿”ã™ã€‚childTabsã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã‚ˆã‚Šå‡¦ç†ãŒè»½ã„ã§ã™ã€‚
allChildTabs è¦ç´ ãƒŽãƒ¼ãƒ‰ã®é…列 (readonly) ãã®ã‚¿ãƒ–ã®å­ãŠã‚ˆã³å­«ã¨ã—ã¦é–¢é€£ä»˜ã‘られãŸã‚¿ãƒ–ã®ä¸€æ¬¡é…列。タブグループモードã§ãªã„å ´åˆã‚„å­ã‚’æŒã£ã¦ã„ãªã„タブã®å ´åˆã¯ã€é•·ã•0ã®é…列。
parentTab è¦ç´ ãƒŽãƒ¼ãƒ‰ ãã®ã‚¿ãƒ–ã®ç›´æŽ¥ã®è¦ªã¨ã—ã¦é–¢é€£ä»˜ã‘られãŸã‚¿ãƒ–。タブグループモードã§ãªã„å ´åˆã‚„グループ化ã•ã‚Œã¦ã„ãªã„タブã®å ´åˆã¯null。tabbrowserã®attachTabTo()ã¨detachTab()を使ã£ã¦ç·¨é›†å¯èƒ½ã€‚
rootTab è¦ç´ ãƒŽãƒ¼ãƒ‰ (readonly) ãã®ã‚¿ãƒ–ãŒå«ã¾ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸€ç•ªä¸Šã®è¦ªã€‚タブグループモードã§ãªã„å ´åˆãƒ»ã‚°ãƒ«ãƒ¼ãƒ—化ã•ã‚Œã¦ã„ãªã„å ´åˆãƒ»ãã®ã‚¿ãƒ–自身ãŒä¸€ç•ªä¸Šã®è¦ªã®å ´åˆã€null。
ownerGroup è¦ç´ ãƒŽãƒ¼ãƒ‰ã®é…列 (readonly) ãã®ã‚¿ãƒ–ãŒæ‰€å±žã—ã¦ã„るグループã®å…¨ã¦ã®ã‚¿ãƒ–ã®ä¸€æ¬¡é…列。タブグループモードã§ãªã„å ´åˆã‚„グループ化ã•ã‚Œã¦ã„ãªã„å ´åˆã¯ã€é•·ã•0ã®é…列。
previousTab è¦ç´ ãƒŽãƒ¼ãƒ‰ (readonly) ãã®ã‚¿ãƒ–ã®å‰ã«ã‚るタブ。タブを並ã¹æ›¿ãˆã¦ã„ã¦ã‚‚ã€ä¸¦ã¹æ›¿ãˆå¾Œã®é †ç•ªã§ã€Œå‰ã€ã«ã‚るタブを返ã™ã€‚
nextTab è¦ç´ ãƒŽãƒ¼ãƒ‰ (readonly) ãã®ã‚¿ãƒ–ã®æ¬¡ã«ã‚るタブ。タブを並ã¹æ›¿ãˆã¦ã„ã¦ã‚‚ã€ä¸¦ã¹æ›¿ãˆå¾Œã®é †ç•ªã§ã€Œæ¬¡ã€ã«ã‚るタブを返ã™ã€‚
locked 真å½å€¤ タブã®ãƒ­ãƒƒã‚¯ï¼ˆå›ºå®šï¼‰çŠ¶æ…‹ã‚’表ã™çœŸå½å€¤ã€‚
referrerBlocked 真å½å€¤ タブã®ã€ãƒªãƒ•ã‚¡ãƒ©ã®é€ä¿¡è¨±å¯çŠ¶æ…‹ã‚’表ã™çœŸå½å€¤ã€‚
autoReloadInterval 整数値 自動リロードã®é–“隔(å˜ä½ï¼šãƒŸãƒªç§’)。0ã§åœæ­¢ã€‚
allowPlugins 真å½å€¤ プラグインã®è¨±å¯çŠ¶æ…‹ã‚’表ã™çœŸå½å€¤ã€‚
allowJavascript 真å½å€¤ JavaScriptã®è¨±å¯çŠ¶æ…‹ã‚’表ã™çœŸå½å€¤ã€‚
allowMetaRedirects 真å½å€¤ ページã«ã‚ˆã‚‹è‡ªå‹•ã‚¸ãƒ£ãƒ³ãƒ—/リロードã®è¨±å¯çŠ¶æ…‹ã‚’表ã™çœŸå½å€¤ã€‚
allowSubframes 真å½å€¤ フレーム表示ã®è¨±å¯çŠ¶æ…‹ã‚’表ã™çœŸå½å€¤ã€‚
allowImages 真å½å€¤ ç”»åƒã®èª­ã¿è¾¼ã¿è¨±å¯çŠ¶æ…‹ã‚’表ã™çœŸå½å€¤ã€‚
fixedLabel 文字列 タブã®å›ºå®šãƒ©ãƒ™ãƒ«ã€‚
tabbrowser widget
getTabByTabId(aID) メソッド tabIdã‹ã‚‰ã‚¿ãƒ–を検索ã™ã‚‹ã€‚返り値ã¯ã‚¿ãƒ–ã¾ãŸã¯null。tabIdã¯ã€ã‚¿ãƒ–ã®è¦ç´ ãƒŽãƒ¼ãƒ‰ã¸ã®å‚照を利用ã§ããªã„時ã«ä½¿ã‚れる。
tabGroupsAvailable 真å½å€¤ (readonly) タブグループモードãŒæœ‰åŠ¹ã‹ã©ã†ã‹ã‚’示ã™çœŸå½å€¤ã€‚
attachTabTo(aTab, aParent) メソッド aTabã¨ã—ã¦æ¸¡ã—ãŸã‚¿ãƒ–ã‚’ã€aParentã¨ã—ã¦æ¸¡ã—ãŸã‚¿ãƒ–ã®å­ã«ã™ã‚‹ã€‚aTab.parentTab = aParentã¨åŒç¾©ã€‚
detachTab(aTab, aKeepChildTabs) メソッド aTabã¨ã—ã¦æ¸¡ã—ãŸã‚¿ãƒ–ã‚’ã€ç¾åœ¨é–¢é€£ä»˜ã‘られã¦ã„る親タブã‹ã‚‰é–‹æ”¾ã™ã‚‹ã€‚例ãˆã°ã€A(親)・B(Aã®å­ï¼‰ãƒ»C(Bã®å­ï¼‰ã®ä¸‰ã¤ã®ã‚¿ãƒ–ã‹ã‚‰ãªã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰Bを開放ã™ã‚‹å ´åˆã¯ã€ç¬¬äºŒå¼•æ•°ãŒtrueã®å ´åˆã¯Bã¨Cã®äºŒã¤ã‚’親å­é–¢ä¿‚を維æŒã—ãŸã¾ã¾ã€falseã®å ´åˆã¯Bã®ã¿ã‚’ã€ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰é–‹æ”¾ã™ã‚‹ã€‚detachTab(aTab, true)ã¯aTab.parentTab = nullã¨åŒç¾©ã€‚
removeAllTabs() メソッド ç¾åœ¨ã®ã‚¿ãƒ–ã‚‚å«ã‚ã€å…¨ã¦ã®ã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹ã€‚最後ã®ã‚¿ãƒ–ã‚’é–‰ã˜ãŸå¾Œã®æŒ™å‹•ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è¨­å®šã«ä¾å­˜ã€‚返り値ã¯ãªã—。
removeLeftTabsFrom(aTab), removeRightTabsFrom(aTab) メソッド 指定ã—ãŸã‚¿ãƒ–より左(å³ï¼‰ã®ã‚¿ãƒ–ã‚’å…¨ã¦é–‰ã˜ã‚‹ã€‚返り値ã¯æ¸¡ã—ãŸã‚¿ãƒ–。
undoRemoveTab() メソッド 最後ã«é–‰ã˜ãŸã‚¿ãƒ–ã‚’é–‹ãç›´ã™ã€‚返り値ã¯é–‹ãç›´ã—ãŸã‚¿ãƒ–。
moveTabTo(aTab, aIndex) メソッド 指定ã—ãŸã‚¿ãƒ–を絶対指定ã§ç§»å‹•ã™ã‚‹ã€‚例ãˆã°ã€0を指定ã™ã‚‹ã¨ä¸€ç•ªå·¦ã«ç§»å‹•ã™ã‚‹ã€‚移動先ãŒå­˜åœ¨ã—ãªã„å ´åˆã¯ã€ç«¯ã«ç§»å‹•ã™ã‚‹ã€‚返り値ã¯ç§»å‹•ã—ãŸã‚¿ãƒ–。
moveTabBy(aTab, aOrder) メソッド 指定ã—ãŸã‚¿ãƒ–を相対指定ã§ç§»å‹•ã™ã‚‹ã€‚例ãˆã°ã€-2を指定ã™ã‚‹ã¨äºŒã¤å·¦ã«ç§»å‹•ã™ã‚‹ã€‚移動先ãŒå­˜åœ¨ã—ãªã„å ´åˆã¯ã€ç«¯ã«ç§»å‹•ã™ã‚‹ã€‚返り値ã¯ç§»å‹•ã—ãŸã‚¿ãƒ–。
moveTabLeft(aTab), moveTabRight(aTab) メソッド 指定ã—ãŸã‚¿ãƒ–を一ã¤å·¦ï¼ˆå³ï¼‰ã«ç§»å‹•ã™ã‚‹ã€‚端ã«ã‚るタブã«å¯¾ã—ã¦ä½¿ç”¨ã™ã‚‹ã¨ã€å対å´ã®ç«¯ã«ç§»å‹•ã™ã‚‹ã€‚
removeTabGroup(aTab) メソッド 指定ã—ãŸã‚¿ãƒ–を親ã¨ã™ã‚‹ã‚¿ãƒ–グループをã¾ã¨ã‚ã¦é–‰ã˜ã‚‹ï¼ˆè¦ªã‚„兄弟ã®ã‚¿ãƒ–ã¯é–‰ã˜ãªã„)。タブグループモードãŒç„¡åŠ¹ãªå ´åˆã¯removeTab()ã¨åŒã˜å‹•ä½œã€‚返り値ã¯ãªã—。
editBookmarkFromTab(aTab) メソッド 指定ã—ãŸã‚¿ãƒ–ã§é–‹ã„ã¦ã„るページãŒãƒ–ックマークã•ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒ–ックマークã®ãƒ—ロパティを開ã。ブックマークã•ã‚Œã¦ã„ãªã„å ´åˆã¯ä½•ã‚‚ã—ãªã„。返り値ã¯æ¸¡ã—ãŸã‚¿ãƒ–。
duplicateTab(aTab) メソッド 指定ã—ãŸã‚¿ãƒ–ã‚’åŒã˜ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§è¤‡è£½ã™ã‚‹ã€‚返り値ã¯æ–°ã—ãé–‹ã‹ã‚ŒãŸã‚¿ãƒ–。
duplicateTabInWindow(aTab) メソッド 指定ã—ãŸã‚¿ãƒ–ã¨åŒã˜å†…容ã®ã‚¿ãƒ–ã‚’æ–°ã—ã„ウィンドウã§é–‹ã。返り値ã¯æ¸¡ã—ãŸã‚¿ãƒ–。
sortTabsByGroup() メソッド å…¨ã¦ã®ã‚¿ãƒ–ã‚’ã€ã‚°ãƒ«ãƒ¼ãƒ—é †ã§ä¸¦ã¹æ›¿ãˆã‚‹ã€‚タブグループモードãŒç„¡åŠ¹ãªå ´åˆã¯ä½•ã‚‚ã—ãªã„。
setTabColorFor(aTab, aColorSet) メソッド 指定ã—ãŸã‚¿ãƒ–ã®ãƒ©ãƒ™ãƒ«ã®è‰²ã‚’変ãˆã‚‹ã€‚タブグループモードãŒæœ‰åŠ¹ãªå ´åˆã€å­å­«ã®ã‚¿ãƒ–ã®ãƒ©ãƒ™ãƒ«ã®è‰²ã‚‚変ãˆã‚‹ã€‚色ã®æŒ‡å®šã¯ä»¥ä¸‹ã®æ›¸å¼ã§è¡Œã†ã€‚
#RRGGBB:#RRGGBB
直接指定。å‰åŠã¯èƒŒæ™¯ã€å¾ŒåŠã¯æ–‡å­—ã®è‰²ã€‚文字ã®è‰²ã‚’çœç•¥ã™ã‚‹ã¨ã€è‡ªå‹•æŒ‡å®šã«ãªã‚‹ã€‚
auto
自動指定。背景も文字もランダムã«è‰²ã‚’付ã‘る。
default
ラベルã®è‰²ã‚’デフォルトã«æˆ»ã™ã€‚
getTabInfo(aTab) メソッド タブã®ãƒ©ãƒ™ãƒ«ãƒ»ãƒ’ストリãªã©ã®æƒ…報を抽出ã—ãŸã‚ªãƒ–ジェクト([object XULTabbrowserTabInfo])を返ã™ã€‚
addTabWithTabInfo(aTabInfo) メソッド getTabInfo()ã§å¾—ãŸã‚ªãƒ–ジェクトã‹ã‚‰ã€å…ƒã®ã‚¿ãƒ–ã¨åŒã˜çŠ¶æ…‹ã®ã‚¿ãƒ–ã‚’é–‹ã(元ã®ã‚¿ãƒ–を複製ã™ã‚‹ï¼‰ã€‚返り値ã¯æ–°ã—ãé–‹ã„ãŸã‚¿ãƒ–。

自作XULアプリã«ä»¥ä¸‹ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã‚’組ã¿è¾¼ã‚ã°ã€ã‚¿ãƒ–ブラウザ拡張を導入ã—ã¦ã„る環境ã¨æœªå°Žå…¥ã®ç’°å¢ƒã¨ã§å‡¦ç†ã‚’振り分ã‘られã¾ã™ã€‚


// 例:タブセットをã¾ã¨ã‚ã¦ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã™ã‚‹æ©Ÿèƒ½ã®å ´åˆ
//     タブブラウザ拡張ãŒã‚ã‚‹å ´åˆã¯ç¾åœ¨ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ã€
//     未導入状態ã§ã¯å…¨ã¦ã®ã‚¿ãƒ–をダウンロードã™ã‚‹

var tabs = ('TabbrowserService' in window) ? gBrowser.selectedTab.ownerGroup : [] ;
if (!tabs.length) tabs = gBrowser.mTabContainer.childNodes;

for (var i = 0; i < tabs.length; i++) {
	saveDocument(gBrowser.getBrowserForTab(tabs[i]).contentDocument);
}
		

ã¾ãŸã€ãƒžã‚¦ã‚¹ã‚¸ã‚§ã‚¹ãƒãƒ£ãªã©ã«TBEã®æ©Ÿèƒ½ã‚’割り付ã‘ã‚‹ãŸã‚ã«ã‚‚利用ã§ãã¾ã™ã€‚

gBrowser.undoRemoveTab(); // 「タブを閉ã˜ã‚‹ã‚’ã€ã‚„ã‚Šç›´ã™

Extra Events æ‹¡å¼µã•ã‚Œã‚‹ã‚¤ãƒ™ãƒ³ãƒˆ (2004-08-28)

TBE導入後ã¯ã€tabbrowserè¦ç´ ãŒçŠ¶æ³ã«å¿œã˜ã¦ä»¥ä¸‹ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’発行ã—ã¾ã™ã€‚ã“れらã®ã‚¤ãƒ™ãƒ³ãƒˆã¯ã€ã‚¿ãƒ–関連ã®æ©Ÿèƒ½ã‚’動作ã•ã›ã‚‹ãƒˆãƒªã‚¬ãƒ¼ã¨ã—ã¦åˆ©ç”¨ã§ãã¾ã™ã€‚

イベントå 発行ã•ã‚Œã‚‹ã‚¿ã‚¤ãƒŸãƒ³ã‚° æ‹¡å¼µã•ã‚ŒãŸãƒ—ロパティ
XULTabbrowserTabAdded タブãŒé–‹ã‹ã‚ŒãŸæ™‚
tabId
æ–°ã—ãé–‹ã‹ã‚ŒãŸã‚¿ãƒ–ã®tabId
tabURI
タブã§é–‹ã„ãŸãƒšãƒ¼ã‚¸ã®URI(文字列)
referrerURI
リファラ(nsIURI)
XULTabbrowserAddTabCanceled タブを開ã動作ãŒã‚¿ãƒ–ã®æœ€å¤§æ•°ã®åˆ¶é™ã«ã‚ˆã£ã¦ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•ã‚ŒãŸæ™‚
loadingURI
タブã§é–‹ã“ã†ã¨ã—ãŸURI(文字列)
referrerURI
リファラ(nsIURI)
tabInfo
æ–°ã—ãé–‹ã“ã†ã¨ã—ãŸã‚¿ãƒ–ã®çŠ¶æ…‹æŒ‡å®šï¼ˆã‚ªãƒ–ジェクト)
XULTabbrowserTabRemoved タブãŒé–‰ã˜ã‚‰ã‚ŒãŸæ™‚
tabId
削除ã•ã‚ŒãŸã‚¿ãƒ–ã®tabId(文字列)
tabIndex
削除ã•ã‚ŒãŸã‚¿ãƒ–ã®ä½ç½®ï¼ˆæ•´æ•°å€¤ï¼‰
XULTabbrowserTabLoading タブã®èª­ã¿è¾¼ã¿ãŒé€²è¡Œã—ã¦ã„る時
tabId
読ã¿è¾¼ã¿ãŒé€²è¡Œã—ã¦ã„るタブã®tabId(文字列)
tabURI
タブã§èª­ã¿è¾¼ã‚“ã§ã„るページã®URI(文字列)
loadingView
読ã¿è¾¼ã¿ãŒé€²è¡Œã—ã¦ã„るフレーム(Window)
XULTabbrowserTabLoad タブã®èª­ã¿è¾¼ã¿ãŒå®Œäº†ã—ãŸæ™‚
tabId
読ã¿è¾¼ã¿ãŒå®Œäº†ã—ãŸã‚¿ãƒ–ã®tabId(文字列)
tabURI
タブã§èª­ã¿è¾¼ã‚“ã ãƒšãƒ¼ã‚¸ã®URI(文字列)
loadedView
読ã¿è¾¼ã¿ãŒå®Œäº†ã—ãŸãƒ•ãƒ¬ãƒ¼ãƒ ï¼ˆWindow)
XULTabbrowserTabLocationChange タブã§èª­ã¿è¾¼ã‚“ã§ã„るページã®URIãŒå¤‰ã‚ã£ãŸæ™‚
tabId
読ã¿è¾¼ã¿ãŒé€²è¡Œã—ã¦ã„るタブã®tabId(文字列)
oldLocation
å‰ã«è¡¨ç¤ºã—ã¦ã„ãŸãƒšãƒ¼ã‚¸ã®URI(文字列)
newLocation
æ–°ã—ã読ã¿è¾¼ã¿ã‚’始ã‚ãŸãƒšãƒ¼ã‚¸ã®URI(文字列)
XULTabbrowserUndoCacheAdded タブã®ã‚¢ãƒ³ãƒ‰ã‚¥ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã«ã‚¨ãƒ³ãƒˆãƒªãŒè¿½åŠ ã•ã‚ŒãŸæ™‚
cachedTabInfo
キャッシュã•ã‚ŒãŸã‚¿ãƒ–ã®æƒ…報(XULTabbrowserTabInfoオブジェクト)
XULTabbrowserUndoCacheOverFlowed タブã®ã‚¢ãƒ³ãƒ‰ã‚¥ã‚­ãƒ£ãƒƒã‚·ãƒ¥ãŒã„ã£ã±ã„ã«ãªã‚Šã€ä¸€ç•ªå¤ã„エントリãŒè‡ªå‹•çš„ã«å‰Šé™¤ã•ã‚ŒãŸæ™‚
overFlowedCachedTabInfo
削除ã•ã‚ŒãŸã‚­ãƒ£ãƒƒã‚·ãƒ¥ï¼ˆXULTabbrowserTabInfoオブジェクト)
XULTabbrowserUndoCacheRemoved タブã®ã‚¢ãƒ³ãƒ‰ã‚¥ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‹ã‚‰ã‚¨ãƒ³ãƒˆãƒªãŒå‰Šé™¤ã•ã‚ŒãŸæ™‚
removedCachedTabInfo
削除ã•ã‚ŒãŸã‚­ãƒ£ãƒƒã‚·ãƒ¥ï¼ˆXULTabbrowserTabInfoオブジェクト)
XULTabbrowserTabStatusChange タブã®ãƒ­ãƒƒã‚¯ã‚„機能ã®è¨±å¯ãªã©ã®çŠ¶æ…‹ãŒå¤‰åŒ–ã—ãŸæ™‚
tabId
状態ãŒå¤‰åŒ–ã—ãŸã‚¿ãƒ–ã®tabId(文字列)
targetStatus
変化ã—ãŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ï¼ˆæ–‡å­—列)
targetURI
ステータスを変化ã•ã›ãŸå¯¾è±¡ã®ãƒšãƒ¼ã‚¸ã®URI(全ã¦ã®ãƒšãƒ¼ã‚¸ã«å¯¾ã—ã¦ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’変更ã™ã‚‹å ´åˆã¯"ANY"ãŒã‚»ãƒƒãƒˆã•ã‚Œã‚‹ï¼‰ï¼ˆæ–‡å­—列)
XULTabbrowserTabMoved タブã®ä½ç½®ãŒå¤‰ã‚ã£ãŸæ™‚(並ã¹æ›¿ãˆã‚‰ã‚ŒãŸæ™‚)
tabId
ä½ç½®ãŒå¤‰ã‚ã£ãŸã‚¿ãƒ–ã®tabId(文字列)
oldTabIndex
å…ƒã®ä½ç½®ï¼ˆæ•´æ•°å€¤ï¼‰
newTabIndex
æ–°ã—ã„ä½ç½®ï¼ˆæ•´æ•°å€¤ï¼‰
XULTabbrowserURIDrop タブãƒãƒ¼ã«URI文字列ãŒãƒ‰ãƒ­ãƒƒãƒ—ã•ã‚ŒãŸæ™‚
droppedURI
ドロップã•ã‚ŒãŸURI(文字列)
XULTabbrowserTabDrop タブãƒãƒ¼ã«ã‚¿ãƒ–ãŒãƒ‰ãƒ­ãƒƒãƒ—ã•ã‚ŒãŸæ™‚
tabURI
ドロップã•ã‚ŒãŸã‚¿ãƒ–ã®ãƒšãƒ¼ã‚¸ã®URI(文字列)
droppedTabId
ドロップã•ã‚ŒãŸã‚¿ãƒ–ã®tabId(文字列)
targetTabId
ドロップã—ãŸå…ˆã®ä½ç½®ã®ã‚¿ãƒ–ã®tabId(文字列)
droppedPosition
ドロップã—ãŸä½ç½®ï¼ˆæ•´æ•°å€¤ã®ãƒ•ãƒ©ã‚°ã€‚タブã®å‰ï¼štabbrowser.DROP_BEFORE, タブã®å¾Œï¼štabbrowser.DROP_AFTER, タブã®ä¸Šï¼štabbrowser.DROP_ON)
dragdropShiftKey
dragdropイベントã®shiftKeyã®å€¤
dragdropAltKey
dragdropイベントã®altKeyã®å€¤
dragdropMetaKey
dragdropイベントã®metaKeyã®å€¤
dragdropCtrlKey
dragdropイベントã®ctrlKeyã®å€¤
dragdropTarget
dragdropイベントã®target
dragdropOriginalTarget
dragdropイベントã®originalTarget
TabbrowserTabGroupModified タブグループã«å¤‰åŒ–ãŒã‚ã£ãŸæ™‚
tabId
グループãŒå¤‰åŒ–ã—ãŸã‚¿ãƒ–ã®tabId(文字列)

自作XULアプリã«ä»¥ä¸‹ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã‚’組ã¿è¾¼ã‚ã°ã€ã‚¿ãƒ–ブラウザ拡張を導入ã—ã¦ã„る環境ã§ç‰¹åˆ¥ãªå‡¦ç†ã‚’è¡Œãˆã¾ã™ã€‚


// 例:タブã§é–‹ã„ãŸå†…容ãŒãƒ ãƒ¼ãƒ“ーã ã£ãŸå ´åˆã«è‡ªå‹•ã§ã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹

function onTabLoad(aEvent) {
   if (aEvent.tabURI.match(/\.(rm|ram|avi|mov|wmv|asf)$/i)) {
      var tabbrowser = aEvent.target;
      var tab        = tabbrowser.getTabByTabId(aEvent.tabId);
      tabbrowser.removeTab(tab);
   }
}

window.addEventListener('XULTabbrowserTabLoad', onTabLoad, true);
Last modified:2013/03/27 04:34:46