我是Chrome扩展程序的新手(和javascript一样诚实)并且设法创建了一个简单的脚本,该页面从页面复制多个DOM元素并在页面加载时启动包含这些元素的页面。一切正常,但是数据来源的页面可以根据用户输入进行更改 - 即它们是否应用某种过滤器。
我希望能够点击扩展图标并运行一次,而不是在最初加载页面时运行脚本。因此,用户可以应用他们的过滤器,并针对页面运行扩展,并在新的弹出窗口中获取新信息。
清单文件中的:
"content_scripts": [
{
"matches": ["https://www.oddsmonkey.com/*"],
"js": ["content.js"],
"all_frames": true
}
],
"background": {
"scripts": ["background.js"]
在background.js中:
chrome.browserAction.onClicked.addListener(function(tab) {
alert("Hello! I am an alert box!!");
});
显然,此时按钮点击发生的所有事情都是我得到一个警告框。
我已经做了很多环顾四周,似乎无法找到一种方法来获取background.js页面(我理解按钮点击需要它)来执行content.js。我看到了消息传递的概念,但我不需要提供任何内容,或者从内容脚本中获取任何内容,我只是希望它能够运行!
希望对某人来说很简单。
干杯
答案 0 :(得分:0)
chrome.browserAction.onClicked.addListener(function(tab){
chrome.tabs.executeScript( tab.id, { file: 'content.js' })
});
// this needs an "activeTab" permission.