Как изменить/передать информацыю в иконку(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, время: 23:03. |