Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
: C& [( A9 C+ Q' X
6 \' [- x6 u$ E6 i! X- b
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
: g8 h( R7 X: P/ a) o5 _' ~ - if( typeof(WebSocket) != "function" ) {$ I1 |6 M+ _3 f
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");" d8 Z) B0 _; l3 }
- }/ A8 c$ x" S2 W. d
- })" B6 F, U) ?# Y, @+ i) l
复制代码 + T& ?$ O; P* d% N! @( O6 T
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {" z! g" ?/ S1 V6 u& x
- /*supported*/ ( D* O6 ~+ b$ d* n
- }% P# D" ]8 U7 V# l2 Y7 {4 W
- 6 F1 r8 p/ o" ~) j- _ G8 [
- //or
# F. p2 o# B) a7 O, U - if (!!window.WebSocket && window.WebSocket.prototype.send) {
2 ~' r6 ~. P0 d$ t4 \ - /*supported*/
: D! V4 i% G9 C. y8 @. U/ H& o/ a - }
复制代码 0 J- X7 Y9 Z h# [. X" c
|