Как изменить/передать информацыю в иконку(Google Chrome Extension)
Вложений: 1
Собственно увидел что у многих розшырений есть подстрока с меняющейся в реальном времени информацыей(пример ниже). Как реализовать такое(Передать инфо в иконку)? Или где об этом почитать?
|
|
О спасибо, вроде именно то что мне надо. Сейчас буду пробовать реализовать. Сам пробовал найти в гугл но видать не правильно формулировал запрос и находил совсем другое.
|
Столкнулся с новой проблемой. chrome.browserAction.setBadgeText(); не робит в contentscript. Добавил background в manifest. С нее текст выводится в иконку но чот не могу с локал стореджа подтянуть данные. Посоветуйте чтото.
var lalala = localStorage.getItem('lalala'); // - так не робит //var lalala = 123; - так робит chrome.browserAction.setBadgeText({text: (lalala).toString()}); |
localStorage.setItem('lalala', '123'); попробуйте выше строчку вставить будет пахать? |
да вывело 123. Но куда оно его записало я не пойму
|
localStorage.setItem('lalala', '123'); - записывает в ключ 'lalala' значение '123';
localStorage.getItem('lalala'); - прочитать ключ 'lalala' в котором значение '123' |
то есть прежде чем получать значение его надо туда положить, как в переменную.
|
Это да но вот в чем проблемка.
К примеру мой contentscript записал в localstorage для домена javascript.ru "lalala=555" и это видно если перейти на вкладку application в консоли. А вот backgroundpage записало непонятно куда "lalala=123" нету во вкладке Application. Мне надо чтоб подтягивало именно те "lalala=555" что записал контент скрипт. П. С. Я б сразу это делал в контент скрипте, но он не имеет разрешений на работу с гугл апи. |
Проблему решыл по другому.
localStorage чето не работало(может я както не так делал) попробовал chrome.storage В итоге: manifest.json добавил "permissions": [ "storage" ], "background": { "scripts": ["js/background.js"] } В contextscript запись в chrome.storage(так как мое розшырение уже писало инфу в локал сторейдж придеться дублировать) chrome.storage.sync.set({'testid': '123'}); В backgroundpage: chrome.storage.onChanged.addListener(function(changes, namespace) { for (key in changes) { if (key === 'testid') { var storageChange = changes[key]; chrome.browserAction.setBadgeText({text: (storageChange.newValue).toString()}); } } }); |
Часовой пояс GMT +3, время: 20:06. |