Я отправляю строковое сообщение из background.js в popup.js.Я получаю сообщение в popup.js, но не могу им манипулировать.Я могу просмотреть его, если alert (), или если я назначил его innerHTML элемента popup.html, но я не могу назначить его никаким переменным в popup.js, чтобы я мог изменить его и использовать.
Я пробовал обычное присваивание, я пытался с помощью substring () скопировать сообщение в другую переменную
Здесь у меня есть фрагмент background.js, который отправляет сообщение в popup.js.myString представляет собой строку:
chrome.runtime.sendMessage({
action: "getSource",
source: myString
});
Вот фрагмент popup.js, который получает сообщение после выполнения background.js, работает приведенный ниже код, отображает строку в popup.html:
chrome.runtime.onMessage.addListener(function(request, sender) {
if (request.action == "getSource") {
container.innerHTML = request.source;}})
Это также работает:
chrome.runtime.onMessage.addListener(function(request, sender) {
if (request.action == "getSource") {
alert(request.source);}})
Но когда я пытаюсь присвоить его переменной, я ничего не получаю (testString все еще пуст):
var testString = '';
chrome.runtime.onMessage.addListener(function(request, sender) {
if (request.action == "getSource") {
testString = request.source;}})
ЕслиЯ присваиваю значение testString вне chrome.runtime.onMessage.addListener (...), назначение работает просто отлично, testString в конечном итоге становится "abcde":
var testString = '';
chrome.runtime.onMessage.addListener(function(request, sender) {
if (request.action == "getSource") {
console.log("do nothing")}});
testString = "abcde";
Я хочу получить содержимоезапроса. источник в переменной, чтобы я мог управлять им.
Спасибо.