Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как изменить/передать информацыю в иконку(Google Chrome Extension) (https://javascript.ru/forum/misc/73000-kak-izmenit-peredat-informacyyu-v-ikonku-google-chrome-extension.html)

RightSeNN 12.03.2018 22:42

Как изменить/передать информацыю в иконку(Google Chrome Extension)
 
Вложений: 1
Собственно увидел что у многих розшырений есть подстрока с меняющейся в реальном времени информацыей(пример ниже). Как реализовать такое(Передать инфо в иконку)? Или где об этом почитать?

Nexus 12.03.2018 22:54

Почитайте:
https://developer.chrome.com/extensi...d-setBadgeText
или погуглите.

RightSeNN 12.03.2018 23:15

О спасибо, вроде именно то что мне надо. Сейчас буду пробовать реализовать. Сам пробовал найти в гугл но видать не правильно формулировал запрос и находил совсем другое.

RightSeNN 13.03.2018 01:33

Столкнулся с новой проблемой. chrome.browserAction.setBadgeText(); не робит в contentscript. Добавил background в manifest. С нее текст выводится в иконку но чот не могу с локал стореджа подтянуть данные. Посоветуйте чтото.

var lalala = localStorage.getItem('lalala'); // - так не робит
//var lalala = 123; - так робит
chrome.browserAction.setBadgeText({text: (lalala).toString()});

j0hnik 13.03.2018 01:38

localStorage.setItem('lalala', '123');

попробуйте выше строчку вставить будет пахать?

RightSeNN 13.03.2018 01:47

да вывело 123. Но куда оно его записало я не пойму

j0hnik 13.03.2018 01:50

localStorage.setItem('lalala', '123'); - записывает в ключ 'lalala' значение '123';

localStorage.getItem('lalala'); - прочитать ключ 'lalala' в котором значение '123'

j0hnik 13.03.2018 01:51

то есть прежде чем получать значение его надо туда положить, как в переменную.

RightSeNN 13.03.2018 01:57

Это да но вот в чем проблемка.
К примеру мой contentscript записал в localstorage для домена javascript.ru "lalala=555" и это видно если перейти на вкладку application в консоли. А вот backgroundpage записало непонятно куда "lalala=123" нету во вкладке Application. Мне надо чтоб подтягивало именно те "lalala=555" что записал контент скрипт.

П. С. Я б сразу это делал в контент скрипте, но он не имеет разрешений на работу с гугл апи.

RightSeNN 13.03.2018 04:13

Проблему решыл по другому.
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.