2015-09-22 3 views
0

Я разрабатываю расширение хром. Сценарий выглядит какКак динамически менять значок расширения хрома

Когда я нажимаю на расширение значка, отправьте запрос POST на сервер и на основании ответа GET он пропишет любой из 3-х разных команд if/else if/else. Я использую действие страницы, чтобы показать значок рядом с адресной строкой. Я хочу, чтобы мой значок расширения динамически изменялся в каждом случае if/else if/else.

Это мой backgound.js, чтобы сделать значок видимым рядом с адресной строкой.

chrome.runtime.onInstalled.addListener(function() { 
    chrome.declarativeContent.onPageChanged.removeRules(undefined, function() { 
    chrome.declarativeContent.onPageChanged.addRules([ 
     { 
     conditions: [ 
      new chrome.declarativeContent.PageStateMatcher({ 
      }) 
     ], 
     actions: [ new chrome.declarativeContent.ShowPageAction() ] 
     } 
    ]); 

}); });

это мой manifest.json

"page_action" : 
{ 
"default_icon" : "icon-191.png", 
"default_title" : "xxx", 
"default_popup": "popup.html" 

},

Любое предложение, как я могу изменить расширение значок toolber динамически на diffetent заявление? Спасибо заранее!

ответ

1

Ну, it's there in the docs.

declarativeContent API может выполнять только ограниченное число действий вместо произвольного кода.

К счастью для вас, chrome.declarativeContent.setIcon - это действие, которое делает именно то, что вам нужно. Используйте его так же, как тот, который вы используете, за исключением того, что он ожидает параметр.

И дайте эту страницу документов прочитанной в целом.

+0

У меня есть ответ сейчас. chrome.pageAction.setIcon ({tabId: tab.id, путь: 'x.png'}); Я положил эту строку на мой метод получения/публикации – user12

+0

Документы являются частью ..... – Legends

Смежные вопросы