1
在我的firefox sdk插件中,我想從我的數據目錄中使用自定義網頁作爲我的設置/關於頁面。如何在特定的選項卡上保留選項卡?
但是我在標籤上留下了一些麻煩!
所以我有一個按鈕,調用OptionsPanel()
函數來打開我的網頁在一個新標籤。現在,我希望如果用戶忘記了該選項卡,並且再次按下該按鈕,它會激活已打開的設置選項卡。這意味着我需要知道該選項卡已打開,並且如果它處於打開狀態,則需要能夠切換到該選項卡,如果尚未打開,請將其打開。
這是我到目前爲止,但它不工作;它只是總是打開一個新標籤。我甚至不知道我是否在咆哮着正確的樹。
const tabs = require("sdk/tabs");
var optionsTab;
function OptionsPanel(){
var opsTab = GetTabByID(optionsTab.id);
if(opsTab == null){
tabs.open(data.url("OptionsPanel.html"));
optionsTab.id = tabs.tab.id; <======errors out as undefined
}else{
opsTab.activate();
}
}
//return a handle to the tab that matches specified tab id
function GetTabByID(whatid){
for(let thistab of tabs){
if(thistab.id = whatid){
return thistab;
}
}
return null;
}
所以,這裏是我的目標:
- 打開我的頁面在一個新的標籤,如果它是尚未打開。
- 如果該選項卡已經打開,然後切換到該選項卡。
- 如果頁面在瀏覽器加載時打開,則如果用戶按下選項按鈕,則準備切換到該選項卡。
選項卡模塊的可能性「選項卡實例代表一個打開的選項卡。」正如我在標籤實用工具文檔中所看到的:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs#Tab,但我覺得這有點令人困惑,並且沒有足夠的例子爲了我。 – bgmCoder
感謝您的時間,minj;並指出'=='。我習慣於在Autohotkey中編碼。 – bgmCoder