仅在Chrome扩展程序上单击运行脚本

时间:2015-11-27 07:05:37

标签: javascript google-chrome google-chrome-extension

每当点击我的Chrome扩展程序图标时,我想运行一个脚本,对当前网页进行某些更改。

我已经尝试在我的清单中使用content_scripts但它有效,但问题是,即使我没有点击图标,脚本也会运行。

我发现,我需要使用后台脚本。在我的background.js文件中,我添加了

chrome.browserAction.onClicked.addListener(function(tab) {
  alert();
});

它无效。

这是我的清单文件。

    {
  "manifest_version": 2,

  "name": "Reveal Password",
  "description": "Reveals password in password input field",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png"
  },
  "background": {
    "scripts": ["background.js"]
  }
}

另外,我想执行我制作的操作当前网页的脚本。

1 个答案:

答案 0 :(得分:0)

使用chrome.tabs.executeScript()在以下标签中执行代码:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript({
    code: 'alert("Hello")'
  });
});

您也可以使用包含代码的文件代替代码:

chrome.tabs.executeScript(null, {file: "content_script.js"});

注意:您需要activeTab权限才能在有效标签中执行代码

"permissions": [
  "activeTab"
]