8

因此,显然我们所做的使用 websockets 的 webapp 不适用于三星 Galaxy S3 库存的 Android 浏览器。问题是,Android 浏览器不应该支持 web sockets,但看起来这个有,虽然 websockets 不起作用,连接永远不会成功。我们的 webapp 有一个 Android 浏览器的后备方案,它使用 flash websockets 实现,以防用户安装了 flash,但由于它检测到 S3 支持 websockets,所以它不使用后备方案。

有没有人遇到过同样的问题?有谁知道 S3 浏览器实现的 websockets 版本是什么?(甚至 WebSocket.org 回显测试失败)

4

3 回答 3

1

I had the same issue with SGS 3 like you and also we had flash fallback. The problem is that other androids return for us undefined when you call window.WebSocket BUT SGS3 doesn't. So we solved this issue with window.WebSocket = undefined;. So our flash fallback began to work.

于 2013-09-24T10:29:54.780 回答
1

看起来 Android 的默认浏览器实现了WebSocketAPI,但它什么也没做。但是(至少在我的 S2+ 上), 中没有CLOSING属性WebSocket,因此您可以使用以下函数来检测是否实际支持 WebSocket:

websocketSupported = function() {
    if(typeof WebSocket === 'undefined') {
        return false;
    }

    return 'CLOSING' in WebSocket.prototype;
} ();
于 2014-05-10T20:09:41.087 回答
0

但是我很晚才回答这个问题。但我仍然想分享的是,没有一个 ANDROID 浏览器仍然支持 WebSockets。参考这个

我还使用 SignalR 使用数据推送制作了一个基本的 PhoneGap 应用程序,并尝试在不同的 ANDROID 版本上运行,发现它在 SAMSUNG ACE DUOS、MICROMAX A116 和一个非常旧的 SAMSUNG 型号上运行良好(抱歉,我不记得型号了) 但在 SAMSUNG GALAXY S3 上失败。

于 2013-05-02T07:34:17.997 回答