(я относительный новичок в разработке расширений Chrome и в StackOverflow, так что терпите меня)
У меня есть расширение Chrome, которое имеет текстовый ввод во всплывающем окне.Я пытаюсь получить поток текстовых данных в режиме реального времени из поля ввода.
Мои JS (popup.js) и HTML (popup.html):
window.addEventListener('load', function(evt) {
document.getElementById("input_field").onkeyup = function() {
let inputValue = document.getElementById("input_field").value;
alert(inputValue);
someAction(inputValue);
}
});
<html>
<head>
<meta charset='utf-8'>
</head>
<body>
<input type="text" id="input_field" placeholder="Blank"/>
<div id = "root">
<p> Some Text </p>
</div>
</body>
</html>
Мой manifest.json:
{
"name": "SampleFormApp",
"version": "1.0",
"description": "Sample Text",
"manifest_version": 2,
"browser_action": {
"default_icon": "assets/icon.png",
"default_title": "Sample",
"default_popup": "src/html/popup.html"
},
"background": {
"scripts": ["src/js/popup.js"],
"persistent": false
},
"permissions": ["storage", "unlimitedStorage", "tabs", "<all_urls>"],
"content_scripts": [{
"matches": ["<all_urls>"],
"css": ["src/css/styles.css"]
}]
}
Однако, когда я пытаюсь запустить расширение, яполучить эту ошибку в журнале отладки: Uncaught TypeError: Невозможно установить свойство 'onkeyup' с нулевым значением (из этой строки: document.getElementById ("input_field"). onkeyup = function () {).
Из моего пониманияэлемент input_field со страницы расширения (popup.html) имеет значение null, и это приводит к ошибке.Что я должен сделать, чтобы решить это?(Я также не слишком опытен с jQuery.)