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