因為你說:你的右鍵選單有[關閉右側分頁]這個項目,我假設你有安裝
TMP你可以安裝
Custom Buttons,啟用 Custom Buttons 後, 檢視 (
V) -> 新增新按鈕。在名稱欄位取一個你喜歡的名字,選擇一個你喜歡的按鈕圖示,套件內建圖示只有一些不同顏色的星星,橘星星藍星星一類的。在代碼輸入區輸入
代碼:
/*關閉右側分頁(只有安裝了TMP,closeRightTabs 函數才會存在)*/
gBrowser.closeRightTabs(gBrowser.mCurrentTab);
按下確定,我們就做好了一個按鈕;接著 檢視 (
V) -> 工具列 (
T) -> 自訂 (
C) 把做好的星星按鈕,拖放到工具列上你喜歡的位置。
同樣的,重新載入右側分頁的代碼:
代碼:
/*重新整理右側分頁(只有安裝了TMP,reloadRightTabs 函數才會存在)*/
gBrowser.reloadRightTabs(gBrowser.mCurrentTab);
拆開 TMP 套件,開啟 tablib.js 檔案,我們會發現很多函數可以用
代碼:
/*保護並鎖定分頁(只有安裝了TMP,freezeTab 函數才會存在)*/
gBrowser.freezeTab(gBrowser.mCurrentTab);
/*複製分頁網址(只有安裝了TMP,copyTabUrl 函數才會存在)*/
gBrowser.copyTabUrl(gBrowser.mCurrentTab);
假設你沒有安裝 TMP 的情況的話,得先宣告 closeRightTabs 等函數,代碼會變成
代碼:
/*關閉右側分頁(沒有安裝 TMP 也能用,但功能比較弱,如:關閉多個分頁時沒有警告)*/
gBrowser.closeRightTabs = function(aTab) {
if (this.mCurrentTab._tPos > aTab._tPos) {
this.selectedTab = aTab;
}
for (var i=this.mTabs.length-1; i>aTab._tPos; i--) {
this.removeTab(this.mTabs[ i ]);
}
}
gBrowser.closeRightTabs(gBrowser.mCurrentTab);
代碼:
/*重新整理右側分頁(沒有安裝 TMP 也能用)*/
gBrowser.reloadRightTabs = function (aTab) {
for (var i = this.mTabs.length - 1; i > aTab._tPos; i-- ) {
try {
this.getBrowserForTab(this.mTabs[i]).reload();
} catch (e) { }
}
}
gBrowser.reloadRightTabs(gBrowser.mCurrentTab);
你可以參考 TMP 的程式碼來實現你想要的功能。