简单问题: 我在socket.io网站上看到了几个websockets(http://socket.io/#browser-support)
的后备但我找不到(即使经过长时间的谷歌会议)哪些浏览器使用哪种后备。 我问的原因是我想避免长时间的轮询后退,所以我需要知道哪些浏览器和版本会使用它。
[编辑]看到这个被低估了我需要自己解决:
我需要知道哪些浏览器/版本最终会回归长轮询。我不能简单地假设在我的情况下使用长轮询,因为长轮询会带来问题。希望这更清楚,为什么我不能轻易找到它..
[编辑2]很抱歉这么不清楚:
我现在有点看到我基本上问过哪些浏览器使用了回退。但这并不是我想要问的,因为我已经知道这一点。我想问一下如何检测或知道将使用哪种回退。对于我的应用程序,闪存没有问题,但长轮询可能会出现问题。谢谢!
答案 0 :(得分:4)
如果您想知道哪些浏览器提前工作,那么Can I Use是一个很好的参考。
如果要在应用程序运行时检测应用程序中的支持,那么您只需测试WebSocket
对象是否存在:
if (WebSocket) {
// Use websockets
} else {
// Fallback will be used
}
(此代码应在客户端,在浏览器中运行 - 而不是在您的node.js应用程序本身中运行)
修改强>
如果您需要知道完全正在使用什么回退,请创建一个套接字,然后检查socket.transport.name
属性。 (因此,如果您的套接字被称为“套接字”,您将检查socket.socket.transport.name
)。它可以是以下之一: