有一段时间了,我一直在尝试创建一个扩展名,它会自动在您所在页面的开头插入一个div。我正在使用这个教程:https://developer.chrome.com/extensions/activeTab页面
本教程中的此代码工作正常,当我点击扩展徽标时,它会将我的页面变为红色。
但如果我更换:
document.body.style.backgroundColor="red"
使用:
$( "body" ).append( "<div>Testing123</div>" );
它不起作用。
text = document.createTextNode("Hello. This is a new node.");
document.body.appendChild(text)
也不起作用
我的清单权限是否错误? 还有另一种方式吗?
我已经在论坛上搜索了很长时间,我尝试过的所有代码都没有用。
答案 0 :(得分:1)
如果没有包含JQuery-Lib,那么第一种方法就无法工作。 第二个对我很好。您是否查看了页面的底部,导致body.append在最后插入文本。 (也许你正在看顶部?)
经过测试的代码:
<强>的manifest.json 强>
{
"name": "Page Redder",
"version": "2.0",
"permissions": [
"activeTab"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_title": "Make this page red"
},
"manifest_version": 2
}
<强> background.js 强>
// Called when the user clicks on the browser action.
chrome.browserAction.onClicked.addListener(function(tab) {
// No tabs or host permissions needed!
console.log('Turning ' + tab.url + ' red!');
chrome.tabs.executeScript({
code: 'text = document.createTextNode("Hello. This is a new node."); document.body.appendChild(text)'
});
});