2016-05-31 65 views
0

我目前正在製作Google Chrome瀏覽器擴展程序,並且我希望用戶能夠選擇它始終處於打開狀態或僅在點擊時激活。要做到這一點,我需要一個options.js和一個background.js文件,我有。但是,我很難讓他們正確溝通。我嘗試使用chrome.storage api,但它不會執行任何操作。如何根據選項獲取background.js

這裏是我的background.js代碼:

chrome.browserAction.onClicked.addListener(function() { 
    // Send a message to the active tab 
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {  
     chrome.tabs.sendMessage(tabs[0].id, {"message": tabs[0].url}, function(response)); 
    }); 
}); 

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {   
    if (changeInfo.status == 'complete') { 
     chrome.tabs.query({active: true, currentWindow: true}, function(tabs){ 
      // console.log(tabs.length); 
      chrome.tabs.sendMessage(tabs[0].id, {"message": tabs[0].url}, function(response) {}); 
     }); 
    } 
}); 

這裏是我的options.js代碼:

​​

如果該行爲被設置爲 「點擊」,我只想要執行的部分是chrome.browserAction.onClicked.addListener。如果行爲設置爲'alwaysOn',那麼我只想要執行chrome.tabs.onUpdated.addListener部分。就調試而言,這兩個塊都以他們應有的方式工作。我只需要知道如何根據當前選項來運行其中一個或另一個。

回答