2012-07-22 46 views
0

我试图让一个页面使用chrome.extension.connect与扩展对话,但是chrome.extension对象不可用。chrome.extensions对象不可用

如果我CONSOLE.LOG(铬),我得到一个对象:

app 
appNotifications 
csi 
loadTimes 
searchBox 
setSuggestResult 
webstore 

但没有扩展名。

我需要做些什么来实现这一点吗?或者任何它不可用的原因?使用Chrome 20在OSX 10.7

+1

“页面与扩展对话”。页面不能直接与扩展进行通信。该扩展必须使用内容脚本实现此功能。对于灵感/示例代码,请参阅[本堆栈溢出答案](http://stackoverflow.com/questions/9602022/chrome-extension-retrieving-gmails-original-message/9636008#9636008)。更具体地说 - – 2012-07-22 21:33:54

回答

1

选择developer modechrome://chrome/extensions/

IM,那么你就可以使用Chrome devtool检查扩展的背景页面,chrome.extension是存在的。 chrome.extension不在普通页面中显示,但仅在扩展中显示。

+0

- chrome.extension.connect不能被普通页面的JavaScript访问,只能由扩展自己的[内容脚本]访问(https://code.google.com/chrome/extensions/content_scripts。 HTML)在该页面上运行。 – gengkev 2012-07-22 18:30:13

+0

如果你看看gengkev指向的页面,有一个内容脚本与其主页进行通信的例子... http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication ...也可以让您的某个扩展页面可以访问网页,并让您的扩展页面与您的扩展程序进行通信,并将其加载到一个隐形的iframe中,然后将消息发布给它。该消息可能只是它的URL,您的扩展然后扫描选项卡并注入一个内容脚本,然后用于通信。 – PAEz 2012-07-22 18:40:18