Я создаю расширение хром. В этом я получаю проблему при отправке сообщения из background.js в popup.js. Мне удастся отправить некоторые статические данные из background.js в popup.js. Но когда я пытаюсь отправить данные динамически (т. Е. Данные, отправленные на background.js по content-script.js) из background.js в popup.js, он дает неопределенные значения, поскольку я печатаю его на popup.html.Ошибка при отправке данных из background.js в popup.js в chrome extension
Это мой popup.js:
var value;
window.onload = function(){
chrome.runtime.sendMessage({getVal: "Hi"}, function(response){
value = response.responseSeltext;
alert(value);
});
document.getElementById('save').onclick = test;
}
Это мой background.js:
var seltext;
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.ezynotes != ""){
seltext = request.ezynotes;
alert("In extension "+seltext);
//document.getElementById("notes").innerHTML += request.ezynotes;
}
if (request.getVal != ""){
sendResponse({responseSeltext:seltext});
//seltext = request.ezynotes;
alert("In extension "+seltext);
//document.getElementById("notes").innerHTML += request.ezynotes;
}
});
Не могли бы вы использовать _ alert() 'для отладки? Он крадет фокус со своего всплывающего окна и может закрыть его. Также известно, что он вызывает проблемы из-за блокировки выполнения. – Xan
Я попытался удалить все предупреждения, но все же он дает undefined на popup.html. – RSY
Как вы проверяете, что он не определен? Кроме того, попробуйте отладить, щелкнув правой кнопкой мыши на кнопке расширения и выбрав «Inspect popup», если вы еще этого не сделали. – Xan