【发布时间】:2021-04-02 16:12:35
【问题描述】:
我正在尝试创建一个 chrome 扩展,它从隐藏的输入元素中获取一个数字并注入一个显示该数字的 html 表。但是,扩展仅在我刷新页面后加载。我从中获取数据的网页是完全静态的,没有花哨的东西。只是一个基本的 HTML 页面。当我第一次访问该页面时,this 是我得到的错误。当我刷新它时,一切都会按应有的方式运行
清单文件如下所示。
{
"name": "Extension name",
"version": "1.0",
"description": "Extension description",
"content_scripts": [
{
"matches": ["*://*.example.com/something/*/something"],
"js": ["/dostuff.js"]
}
],
"manifest_version": 3
}
这里是 dostuff.js
let hiddenElement = document.getElementById("someId").value;
let var1 = hiddenElement * 2;
let leftCol = document.getElementById("anotherId").parentElement;
let table = document.createElement("table");
table.innerHTML = "<tr><td>Number: </td><td>" + var1 + "</td></tr>"
leftCol.appendChild(table);
非常感谢任何帮助:)
【问题讨论】:
-
这可能是一个 SPA 网站,请参阅 this answer 和 How to listen for url change with Chrome Extension。您需要匹配整个网站
*://*.example.com/*,然后检查更改的 URL 是否是您想要的。
标签: javascript google-chrome google-chrome-extension