我正在尝试使用Chrome的内容脚本在页面上注入一个按钮,但是该按钮从未出现,并且在控制台中没有出现错误。
我的manifest.json
档案:
{
"name": "Test",
"version": "0.0.1",
"manifest_version": 2,
"description": "Test",
"default_locale": "en",
"permissions": [
"<all_urls>"
],
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"src/inject/inject.js"
]
}
]
}
和我的inject.js
文件:
document.addEventListener('DOMContentLoaded', function () {
var buttonOnSite = document.getElementById("buttonOnSite");
var button = document.createElement("button");
var text = document.createTextNode("test");
button.appendChild(text);
buttonOnSite.appendChild(button);
});
我从上面的代码中期望的是,当我转到buttonOnSite
存在具有ID的按钮的站点时,test
即在其后创建带有文本的新按钮。
但是,当我单击该按钮时,什么都没有发生!肯定有一个带有ID的按钮buttonOnSite
(我更改了ID,因为它是一个长ID)。
我在控制台中没有收到任何错误消息,那怎么了?这可能很明显,但我看不到。任何帮助表示赞赏!
这是您需要的代码:
var buttonOnSite = document.getElementById("buttonOnSite"),
parent = buttonOnSite.parentElement,
next = buttonOnSite.nextSibling,
button = document.createElement("button"),
text = document.createTextNode("test");
button.appendChild(text);
if (next) parent.insertBefore(button, next);
else parent.appendChild(button);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句