It’s gangzz!

A blogging about coding and life..

Content Scripts

Content Scripts可以读取用户Page的所有Dom细节,或是修改它们。

Content Scripts面临的限制:

  • 不可以访问extension中定义的函数。
  • 不可调用Chrome.* API。
  • 不可以调用用户页面定义的函数。

然而Content Scripts可以调用一下Chrome.* API:

  • extension ( getURL , inIncognitoContext , lastError , onRequest , sendRequest )
  • i18n
  • runtime ( connect , getManifest , getURL , id , onConnect , onMessage , sendMessage )
  • storage

除此以外content Script可以使用message和extension通信,可以调用cross-origin XMLHttpRequest。

Manifest

如果你的content scripts在任何时候都需要注入,可以选择content script:

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": ["http://www.google.com/*"],
      "css": ["mystyles.css"],
      "js": ["jquery.js", "myscript.js"]
    }
  ],
  ...
}

如果你的content scripts只注入特定的URL,可以选择permission:

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs", "http://www.google.com/*"
  ],
  ...
}