谷歌chrome扩展浏览器操作.已选中
google chrome extension browserAction.onClicked
我不知道如何让它工作。我的剧本是自己写的。但不适用于background.js。我希望我的谷歌扩展只有在用户点击它的图标时才能工作,所以我创建了文件background.jss,并输入了代码:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "change_content.js"});
});
我的宣言.json在这里:
{
"manifest_version": 2,
"name": "Name",
"description": "change content.",
"version": "3.0",
"browser_action": {
"default_icon": "icon.png"
},
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["change_content.js"]
}
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"permissions": [
"tabs", "http://*/*"
]
}
这是change_content.js:
var oldSource = document.documentElement.innerHTML;
document.body.innerHTML = changeContent(oldSource);
function changeContent(source){
.....
}
在按下按钮之前执行change_content.js
时出现问题的原因是内容脚本就是这样工作的。如果您在manifest.json
中包含一个内容脚本,它将加载并执行该脚本。尝试从清单中删除"content_scripts"
部分,您应该会看到它正常工作。
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "change_content.js"});
});
我有一种感觉,错误在于你使用"null",因为它可能是在搜索tabId为null的选项卡,你应该尝试这样做吗?
chrome.tabs.executeScript({file: "change_content.js"});
相关文章:
- 如何在不使用插件的情况下用程序记录浏览器操作
- 浏览器化 - 将操作绑定到函数
- 选择首次单击浏览器操作时打开的弹出窗口
- Extjs KeyMap 不作用于 defaultEventAction,但执行默认的浏览器操作
- Chrome扩展程序:浏览器操作单击按钮工作一次
- DOM 操作、向后兼容性和跨浏览器问题
- 在浏览器操作中修改当前选项卡的URL的TLD
- 在web浏览器中保存操作过的SVG图像
- 如何使用Java程序在浏览器中操作文本字段
- 在javascript中,哪个操作需要浏览器做更多的工作
- 网络浏览器正在成为“;严格的“;用于Javascript中未定义变量的操作
- 修改时,哪些DOM元素属性会导致浏览器执行回流操作
- chrome扩展插件在浏览器操作中插入内容脚本
- 将Mixpanel与chrome扩展集成(无需浏览器操作)
- 滚动不'在移动浏览器中执行手势操作后无法工作
- 简单的Html5画布操作会降低浏览器的速度
- 浏览器使用Java而不是Javascript作为DOM操作语言
- 如何操作浏览器历史记录并捕获浏览器后退/前进按钮
- JQuery 错误 -- 减慢在浏览器中查看错误的操作速度
- 如何操作浏览器的后退按钮