将数据注入 HTML 标记



我正在为Microsoft Edge开发一个扩展,并从这里的文档中了解到 https://learn.microsoft.com/en-us/microsoft-edge/extensions/guides/creating-an-extension#writing-a-more-complex-extension 我可以使用Javascript进行数据操作。

出于某种原因,当我尝试像这样修改 DOM 元素时:

<!DOCTYPE html>
<html>
<body>
<p></p>
<script type='text/javascript'>
document.getElementsByTagName('P')[0].innerHTML = 'something';
</script>
</body>
</html>

我在任何HTML/JAVASCRIPT解释器中都得到了想要的结果,但是当我尝试在扩展中对其进行测试时,DOM操作不起作用。p元素未填充"某物"。manifest.json文件包含在扩展文件夹中,我只是不在此处包含它,因为它与问题无关。

我应该怎么做?

更新:

窗口.html:

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link rel='stylesheet' href='window.css'>
</head>
<body>
<div><p></p></div>
<script src="window.js"></script>
</body>
</html>

窗口.js:

window.onload() {
document.getElementsByTagName('P')[0].innerHTML = 'hakuna matata';
};

你应该使用<script>标签导入 JavaScript 函数,如下所示:

js文件夹myfunction.js文件中:

document.getElementsByTagName('p')[0].innerHTML = 'something';

html文件中:

<!DOCTYPE html>
<html>
<body>
<p></p>
<script src="js/myfunction.js"></script>
</body>
</html>

我在 Edge 扩展中对其进行了测试:如果我们直接在html页面中使用 JavaScript 函数,那么它不起作用。如果我们使用指向js文件的链接,那么它可以工作。

最新更新