javascript - Android 版 Firefox 插件支持 WebSocket 吗?

标签 javascript websocket firefox-addon fennec

我需要找到一种在 Firefox for Android (fennec) 和我的 Android 服务之间进行通信的方法。 解决方案之一是使用 WebSocket 进行通信 代码:

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 在 Android 版 Firefox 上可用,但通常的 WebSocket 构造函数在 bootstrap.js(沙盒)或 js 中不可用代码模块,因为它们没有附加 DOM 窗口,而是独立的 JS。

但是,您仍然可以通过两种方式创建 Web 套接字:

  1. 使用new Services.appShell.hiddenDOMWindow.WebSocket(...) 。 (不过,我记得在某个时候有人讨论过要删除 Android 上的隐藏窗口?!)
  2. 使用较低级别的 XPCOM 组件 nsIWebSocketChannel并实现nsIWebSocketListener .

顺便说一句,您可能想查看 Remotely debugging Firefox for Android .

关于javascript - Android 版 Firefox 插件支持 WebSocket 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24244886/

相关文章:

java - 将标准输出字节从 Process 转发到 WebSocket 或读取当前 InputStream 长度

node.js - 如何获取 websocket 连接的(Express 的)sessionID

firefox - 如何在 Firefox-Addon 中运行外部程序并获取返回码

javascript - Firefox 扩展的 'load event' 之前的事件?

javascript - 带有 JavaScript 客户端的 Java 套接字服务器

javascript - 如何过滤掉来自多个状态的数据,在React Native中从单独的API获取数据

javascript - 将条形子弹图转换为柱形图

javascript - ajax成功调用下一个函数

websocket - 使用 Server-Sent 事件进行双向客户端-服务器通信(而不是 WebSockets)的缺点

firefox-addon - 卸载firefox插件时如何在浏览器中打开页面