Передайте переменную в фоновый скрипт и используйте ее в других функциях на вкладках без использования API хранилища. - PullRequest
0 голосов
/ 26 октября 2019

Я передаю строковую переменную в фоновый скрипт из плагина (вызывается из popup.html). Я получаю строку, но не могу использовать свою переменную ВНЕ функции слушателя в фоновом скрипте.

plugin.js:

chrome.runtime.sendMessage({'greeting': arbitraryString}, function(response) {});

background.js:

chrome.runtime.onMessage.addListener(
    function(result) {
        alert("MESSAGE RECIEVED");
        alert("arbitraryString: " + result.greeting);
        var pw = result.greeting;
}
);

alert('var saved and is: ' + pw);

Все работает до последнего предупреждения, потому что pw не определено.

  1. Как передать var из функции прослушивателя в память фоновых скриптов, БЕЗ использования API-интерфейсов хранилища, чтобы оповещение ('var save and is:' + pw);успешно?

  2. В случае успеха pw доступен во всех вкладках для сценариев внедрения?

1 Ответ

1 голос
/ 26 октября 2019

Вы должны объявить pw вне слушателя.

var pw;

chrome.runtime.onMessage.addListener(
    function(result) {
        alert("MESSAGE RECIEVED");
        alert("arbitraryString: " + result.greeting);
        pw = result.greeting;
    }
);
...