Я пытаюсь передать значение из JavaScript в HTML для расширения Chrome.Я получаю сообщение об ошибке, что элемент, на который ссылаются, имеет значение null.
popup.html
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="popup.js"></script>
</head>
<body>
<div>
<h3>Output</h3>
<br>
<output id="outputKey">Output goes here</output>
</div>
</body>
</html>
popup.js
chrome.storage.sync.get("key", function (value) {
console.log("Output key value: " + value["key"]);
console.log("Popup output key value: " + document.getElementById("outputKey"));
//Set document.getElementById("outputKey") to value["key"]
});
В результате значение ключа, полученное из хранилища, является действительным и корректно регистрируется на консоли при использовании console.log("Output key value: " + value["key"]);
.Я хотел бы установить это значение в значение элемента output
, чтобы отобразить его на popup.html
.Я получаю сообщение об ошибке, в котором говорится, что document.getElementById("outputKey")
равно нулю.
Мне было интересно, так ли это, потому что страница расширения отображается только при нажатии кнопки расширения в браузере.Я безуспешно пытался добавить следующее:
popup.js
...
window.onload = function () {
chrome.storage.sync.get("key", function (value) {
console.log("New key value: " + value["key"]);
document.getElementById("outputKey") = value["key"];
});