可以在内容脚本中使用`chrome。*`扩展API吗?
问题描述:
我正在尝试使用chrome.windows.onCreated
,但我得到了Uncaught TypeError: Cannot read property 'onCreated' of undefined
。我注意到在样本中,所有对chrome.*
API的调用似乎都来源于后台脚本?我不能在内容脚本中使用它们吗?可以在内容脚本中使用`chrome。*`扩展API吗?
我想触发浏览器中的点击次数。然后在弹出窗口中获取一些信息(刮擦)。为此,我想我需要知道何时打开一个窗口。所以我需要windows.onCreated
?我可以在内容脚本中使用它吗?或者我将如何结合背景和内容脚本?
答
从文档Content scripts:
然而,内容脚本有一定的局限性。他们不能:
- 使用
chrome.*
的API(除了的chrome.extension
部分)由它们的扩展的页面定义- 使用变量或函数
- 使用变量或函数通过网页或其他内容的脚本
定义可以 间接避免
这些限制,脉最后通过sending messages内的扩展名。该文档提供了几个涉及消息传递的examples。在之前的Chrome 20中,消息API方法被称为onRequest
和sendRequest
。自20版以来,他们被称为onMessage
和sendMessage
。
下面是其中提到的步骤如何回答从内容脚本传递消息到弹出: https://stackoverflow.com/a/11617742