动态注入或执行JS

虽然在backgroundpopup中无法直接访问页面DOM,但是可以通过chrome.tabs.executeScript来执行脚本,从而实现访问web页面的DOM(注意,这种方式也不能直接访问页面JS)。

示例manifest.json配置:

  1. {
  2. "name": "动态JS注入演示",
  3. ...
  4. "permissions": [
  5. "tabs", "http://*/*", "https://*/*"
  6. ],
  7. ...
  8. }

JS:

  1. // 动态执行JS代码
  2. chrome.tabs.executeScript(tabId, {code: 'document.body.style.backgroundColor="red"'});
  3. // 动态执行JS文件
  4. chrome.tabs.executeScript(tabId, {file: 'some-script.js'});