Как настроить ввод в расширение chrome для текста из dom?

#google-chrome-extension

Вопрос:

Я пытаюсь получить текст с веб-страницы при нажатии на ввод в моем расширении Chrome. Сценарий содержимого

 document.addEventListener('click', function (e) {
  let target = e.target
  let text = target.textContent || target.innerText;
  chrome.runtime.sendMessage({ text }, function (response) {
    console.log(response.farewell);
  });
}, false);
 

и фоновый сценарий

 chrome.runtime.onMessage.addListener(
  function (request, sender, sendResponse) {
    document.getElementById("userinput").value = "My value";
    sendResponse({ farewell: request.text });
  }
);
 

Мой popup.html просто есть идентификатор «userinput», и я получаю unchecked runtime.lastError: The message port closed before a response was received. ошибку

Комментарии:

1. Переместите прослушиватель onMessage во всплывающий скрипт.

2. Предыстория. js не может получить доступ к входу пользователя идентификатора DOM. Что делает фон. консоль js говорит. Обычно порт сообщения закрывается через некоторое время. Я думаю, из-за ошибки