Chrome扩展程序自动触发

时间:2011-04-19 07:46:07

标签: google-chrome google-chrome-extension

我正在制作Chrome扩展程序以查找我使用browser_action的网页中的所有链接。我在刷新页面时遇到错误,chrome扩展会自动触发javascript代码。我如何制作它,以便如果你点击浏览器上的刷新,扩展名不会触发?我只想在单击工具栏上的小图标时才能工作。

这就是我的清单的样子

{
  "name": "Find all first",
  "version": "1.0",
  "description": "Find all Linkes",
  "browser_action": {
    "default_icon": "icon.png",
    "popup": "popup.html"
  },
  "icons": {
    "16": "icon.png",
    "128": "icon-big.png"
  },
  "permissions": [
    "tabs",
    "http://*/*",
    "https://*/*"
  ],
  "content_scripts": [ {
    "matches": ["http://*/*", "https://*/*"], 
    "js": ["content.js"]
  }]
}

然后我在我的popup.html中调用它

chrome.tabs.executeScript(null, {file: 'content.js'}, function() {
  console.log('Success');
});

1 个答案:

答案 0 :(得分:7)

由于您的清单中定义了contents_scripts,因此每次加载与您的content.js匹配的网页时,matches都会作为内容脚本运行(因此,任何网页都是如此)。

要在用户单击“页面操作”按钮时仅在页面上运行content.js,请从清单中删除content_scripts部分,以便不会自动运行任何脚本。然后,当单击“页面操作”按钮时,popup.html将按原样执行content.js