以下ã«ã€ã‚¿ãƒ–ブラウザ拡張導入後ã«æ‹¡å¼µã•ã‚Œã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ãƒ»ãƒ—ãƒãƒ‘ティã®ä¸€éƒ¨ã‚’示ã—ã¾ã™ã€‚マウスジェスãƒãƒ£ã‚„カスタマイズå¯èƒ½ãªãƒœã‚¿ãƒ³ã«æ©Ÿèƒ½ã‚’割り付ã‘ãŸã‚Šã€è‡ªä½œã®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) | メソッド | 指定ã—ãŸã‚¿ãƒ–ã®ãƒ©ãƒ™ãƒ«ã®è‰²ã‚’変ãˆã‚‹ã€‚タブグループモードãŒæœ‰åŠ¹ãªå ´åˆã€åå«ã®ã‚¿ãƒ–ã®ãƒ©ãƒ™ãƒ«ã®è‰²ã‚‚変ãˆã‚‹ã€‚色ã®æŒ‡å®šã¯ä»¥ä¸‹ã®æ›¸å¼ã§è¡Œã†ã€‚
|
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(); // 「タブを閉ã˜ã‚‹ã‚’ã€ã‚„ã‚Šç›´ã™
TBE導入後ã¯ã€tabbrowserè¦ç´ ãŒçŠ¶æ³ã«å¿œã˜ã¦ä»¥ä¸‹ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’発行ã—ã¾ã™ã€‚ã“れらã®ã‚¤ãƒ™ãƒ³ãƒˆã¯ã€ã‚¿ãƒ–関連ã®æ©Ÿèƒ½ã‚’動作ã•ã›ã‚‹ãƒˆãƒªã‚¬ãƒ¼ã¨ã—ã¦åˆ©ç”¨ã§ãã¾ã™ã€‚
イベントå | 発行ã•ã‚Œã‚‹ã‚¿ã‚¤ãƒŸãƒ³ã‚° | æ‹¡å¼µã•ã‚ŒãŸãƒ—ãƒãƒ‘ティ |
---|---|---|
XULTabbrowserTabAdded | タブãŒé–‹ã‹ã‚ŒãŸæ™‚ |
|
XULTabbrowserAddTabCanceled | タブを開ã動作ãŒã‚¿ãƒ–ã®æœ€å¤§æ•°ã®åˆ¶é™ã«ã‚ˆã£ã¦ã‚ャンセルã•ã‚ŒãŸæ™‚ |
|
XULTabbrowserTabRemoved | タブãŒé–‰ã˜ã‚‰ã‚ŒãŸæ™‚ |
|
XULTabbrowserTabLoading | タブã®èªã¿è¾¼ã¿ãŒé€²è¡Œã—ã¦ã„る時 |
|
XULTabbrowserTabLoad | タブã®èªã¿è¾¼ã¿ãŒå®Œäº†ã—ãŸæ™‚ |
|
XULTabbrowserTabLocationChange | タブã§èªã¿è¾¼ã‚“ã§ã„るページã®URIãŒå¤‰ã‚ã£ãŸæ™‚ |
|
XULTabbrowserUndoCacheAdded | タブã®ã‚¢ãƒ³ãƒ‰ã‚¥ã‚ャッシュã«ã‚¨ãƒ³ãƒˆãƒªãŒè¿½åŠ ã•ã‚ŒãŸæ™‚ |
|
XULTabbrowserUndoCacheOverFlowed | タブã®ã‚¢ãƒ³ãƒ‰ã‚¥ã‚ャッシュãŒã„ã£ã±ã„ã«ãªã‚Šã€ä¸€ç•ªå¤ã„エントリãŒè‡ªå‹•çš„ã«å‰Šé™¤ã•ã‚ŒãŸæ™‚ |
|
XULTabbrowserUndoCacheRemoved | タブã®ã‚¢ãƒ³ãƒ‰ã‚¥ã‚ャッシュã‹ã‚‰ã‚¨ãƒ³ãƒˆãƒªãŒå‰Šé™¤ã•ã‚ŒãŸæ™‚ |
|
XULTabbrowserTabStatusChange | タブã®ãƒãƒƒã‚¯ã‚„機能ã®è¨±å¯ãªã©ã®çŠ¶æ…‹ãŒå¤‰åŒ–ã—ãŸæ™‚ |
|
XULTabbrowserTabMoved | タブã®ä½ç½®ãŒå¤‰ã‚ã£ãŸæ™‚(並ã¹æ›¿ãˆã‚‰ã‚ŒãŸæ™‚) |
|
XULTabbrowserURIDrop | タブãƒãƒ¼ã«URIæ–‡å—列ãŒãƒ‰ãƒãƒƒãƒ—ã•ã‚ŒãŸæ™‚ |
|
XULTabbrowserTabDrop | タブãƒãƒ¼ã«ã‚¿ãƒ–ãŒãƒ‰ãƒãƒƒãƒ—ã•ã‚ŒãŸæ™‚ |
|
TabbrowserTabGroupModified | タブグループã«å¤‰åŒ–ãŒã‚ã£ãŸæ™‚ |
|
自作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);