我正在尝试将新的Socket API用于Chrome扩展程序,而且我遇到了一个令人困惑的错误。我的示例应用程序的清单如下所示:
{
"name":"Yet Another Socket App",
"version":"0.0.1",
"manifest_version":2,
"permissions":[
"experimental", "socket"
],
"app":{
"launch":{
"local_path":"index.html"
}
}
}
应用正在加载(即没有错误提醒),但chrome://extensions
中的条目下方会显示警告:'socket' is not allowed for specified package type (theme, app, etc.).
注意: index.html
存在并且是一个简单的HTML文档(其中chrome.socket
确实是undefined
)。我已通过chrome://flags
启用了实验API。我正在Ubuntu上运行Chrome的开发频道(v22.0.1229.6 dev
)。
这是套接字支持的瞬间打嗝(毕竟这是Dev通道),还是我以某种方式错误地设置了我的应用程序?另外,我不得不卸载Chrome Stable来安装Dev; apt-get purge google-chrome-stable
和rm -rf ~/.config/google-chrome
是否有可能无法清除稳定频道的每一部分?
答案 0 :(得分:3)
尝试从Google重新创建此示例时遇到了同样的问题: http://developer.chrome.com/trunk/apps/app_network.html
Chrome总是说
'permissions [1]'
的值无效
他们的示例App中提供了正确的清单文件: https://github.com/GoogleChrome/chrome-app-samples/tree/master/udp
将permissions
中的manifest.json
更改为
"permissions": [
"experimental",
{"socket": [
"udp-send-to"
]},
"app.window"
]
我现在可以访问Chrome 版本23或更高版本中的socket
对象:
var socket = chrome.socket || chrome.experimental.socket;