Я пытаюсь просто вызвать функцию в фоновом режиме. js из всплывающего окна. js. Тем не менее, я получаю «Unchecked runtime.lastError: Порт сообщения закрыт до получения ответа». ошибка.
Мое первоначальное сообщение «Рукопожатие» работает без ошибок, но мое «AnotherMessage» получает ошибку выше.
Я пытаюсь следовать документации onMessage и sendMessage, найденной здесь но я могу делать что-то не так.
всплывающее окно. js
//works perfectly fine
chrome.runtime.sendMessage({msg:"Handshake"}, response => {
if(response.error){
console.log(response);
}
});
//Gives error message
chrome.runtime.sendMessage({msg:"AnotherMessage"}, response => {
if(response.error){
console.log(response);
}
});
Причина, по которой я хочу два 'sendMessage', заключается в том, что я хочу выполнять заданные c функции в фоновом режиме. js в зависимости от определенных логов c.
фон. js
chrome.runtime.onMessage.addListener((request,sender,sendResponse){
if(request.msg === "Handshake"){
//Do something
} else if (request.msg === "AnotherMessage") {
//Do something else
}
});
ОБНОВЛЕНИЕ: добавить немного контекста, у меня в основном есть две формы в моем расширении. Я хочу отправить данные при отправке формы в мою базу данных, поэтому при отправке ' form-1 ' выполняется function-1 'и' form-2 ' представление должно выполнить ' function-2 ' в фоновом режиме. js. Я пытаюсь добиться выполнения различных функций через sendMessage и onMessage.