2015-10-05 4 views
1

Я создаю расширение Chrome, которое заставляет значок показывать число, возвращаемое API. У меня код работает нормально, но я слушаю DOMContentLoaded, поэтому он обновляется только тогда, когда пользователь открывает расширение.Способ автообновления значка расширения Chrome

Я бы хотел, чтобы расширение проверяло API каждый раз, когда браузер загружает страницу. Мне не нужно ничего менять на странице, я просто хочу использовать ее для синхронизации.

Я не уверен, что должен использовать, должен ли я использовать background pages, event pages или что-то еще? Какой был бы лучший способ сделать это?

Заранее благодарен!

ответ

2

Апи, который вы хотите для «каждый раз, когда браузер загружает страницу», является chrome.tabs.onUpdated. Вы бы:

chrome.tabs.onUpdated.addListener(function(tabId,changeInfo,tab) { 
    chrome.browserAction.setBadgeText({"text":"ABCD","tabId":tabId}); 
}); 

Простой подход для разработки является использование фона страницы, заставить его работать, а затем выяснить, какие изменения вам нужно to convert it на странице мероприятия. Однако с этим заглушкой ничто не мешает вам создать страницу событий.

+0

Замечательно, я получил свой код для работы. Я сделал файл js в фоновом скрипте, а затем дал ему разрешение на «вкладки». Большое спасибо! –

+0

В зависимости от вашего использования вы можете использовать «activeTab» вместо «tabs». Первый более ограничительный и не вызывает предупреждения об установке при установке. – Teepeemm

+0

У меня есть ссылка в моем расширении, которая должна открыть новую вкладку, поэтому мне нужно иметь разрешение «tabs». Спасибо, что сообщили мне об этом! –

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