我需要找到一种方法在Firefox for Android (fennec)和我的Android服务之间进行通信。其中一个解决方案是使用WebSockets进行通信代码:
var ws = new WebSocket("ws://localhost:8887/");
ws.onopen = function() {
console.log("SENDING");
ws.send("Hello messsage");
}
06-16 13:14:10.099: I/Gecko(8055): Message: ReferenceError: WebSocket is not defined
在fennec插件中支持WebSocket吗?
WebSocket
s在Firefox for Android上可用,但是通常的WebSocket
构造函数在bootstrap.js
(Sandbox)或js代码模块中不可用,因为这些没有附加的DOM窗口,而是独立的js。
- 使用
new Services.appShell.hiddenDOMWindow.WebSocket(...)
。(虽然,我记得在某些时候有讨论删除Android的隐藏窗口?!) - 使用较低级别的XPCOM组件
nsIWebSocketChannel
并实现nsIWebSocketListener
。
顺便说一句,你可能想要查看远程调试Firefox for Android.