我正在尝试编写一个简单的firefox移动插件,它使用Websocket与我的服务器端代码进行通信。
我的代码适用于Desktop Firefox Addon,但我在使用Firefox移动版时遇到了困难。
function connectToServer(aWindow) {
var ws = new MozWebSocket("ws://ipaddress:8887"); // LINE 20
// var ws = new WebSocket("ws://ipaddress:8887");
ws.onopen = function() {
showToastMsg(aWindow, 'Sending');
ws.send('data');
}
ws.onmessage = function (evt) {
showToastMsg(aWindow, 'Display')
};
ws.onclose = function() {
};
我已经尝试了MozWebSocket和WebSocket,但是它们都给出了类似于以下内容的错误:
E / GeckoConsole(15569):[JavaScript错误:“ReferenceError:未定义MozWebSocket”{file:“resource://gre/modules/XPIProvider.jsm - > jar:file:/// data / data /org.mozilla.firefox/files/mozilla/sq4c77hi.default/extensions/view-source@mydomain.org.xpi!/bootstrap.js“line:20}]
任何人都知道我需要导入或做什么才能引用WebSocket? 我只想用我的服务器端代码使用websocket从我的Firefox Android插件来回发送数据。有什么建议?
我很困惑,因为我在Firefox桌面插件上运行此设置,代码非常相似。
非常感谢任何帮助,谢谢!
答案 0 :(得分:2)
尝试下一个解决方案
var ws = new Services.appShell.hiddenDOMWindow.WebSocket("ws://ipaddress:8887");
答案 1 :(得分:1)
您使用的是附加SDK吗?这段代码进入哪个文件?
首先,Mozilla'未加前缀'的MozWebsocket前往Websocket:
...但Websocket api仅在实际的Web文档中可用。我过去做的是我使用了页面工作者api在后台加载文档并从工作页面连接到Websocket服务器:
https://github.com/canuckistani/Jetpack-Websocket-Example
有关页面工作者api的更多信息:
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/page-worker.html
将来我们计划将HTML5 apis直接暴露给附加开发人员。