可以在内容脚本中使用`chrome。*`扩展API吗?

时间:2012-07-28 11:58:50

标签: google-chrome-extension

我正在尝试使用chrome.windows.onCreated,但我得到Uncaught TypeError: Cannot read property 'onCreated' of undefined。我在示例中注意到,对chrome.* API的所有调用似乎都来自后台脚本?我可以不在内容脚本中使用它们吗?

我想在浏览器中触发点击。然后在弹出窗口中获取一些信息(scrape)。为此,我想我需要知道什么时候打开一个窗口。所以我需要windows.onCreated?我可以在内容脚本中使用它吗?或者我将如何组合背景和内容脚本?

1 个答案:

答案 0 :(得分:4)

来自Content scripts的文档:

  

但是,内容脚本有一些限制。他们不能

     
      
  • 使用chrome.* API(chrome.extension部分除外)
  •   
  • 使用其扩展程序页面定义的变量或函数
  •   
  • 使用由网页或其他内容脚本定义的变量或函数
  •   

这些限制可以间接,主要由扩展程序中的sending messages来避免。该文档提供了几个涉及消息传递的examples。在Chrome 20之前,消息API方法称为onRequestsendRequest。从版本20开始,它们被称为onMessagesendMessage

这是一个答案,提到了如何将消息从内容脚本传递到弹出窗口的步骤: https://stackoverflow.com/a/11617742