Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。# a* ]8 l) D8 J
7 }/ @3 f; l& _; ?& ~通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {. ? i1 @7 P( Q5 |3 O
- if( typeof(WebSocket) != "function" ) {2 J( x8 z9 x. R6 Y
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
- `/ Z: e* J( a/ F' u9 y - }
" P1 c+ T5 z% O$ a - })% e4 d( p0 W ~3 k
复制代码
$ t7 A3 s2 P0 @) I7 v但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') { |$ f& L" v6 ]9 P6 A) r% L4 S
- /*supported*/ % q2 ~* s" D6 J; x1 s
- }
1 i T3 u8 @- [. Q
/ t4 V: W$ L, t' |% }4 X- //or
7 K% G) _ G/ I& R# M: @! y( S - if (!!window.WebSocket && window.WebSocket.prototype.send) {# l7 r* h! y, K. e2 @- K0 A
- /*supported*/
( U7 _) @0 L! z$ O - }
复制代码
1 b% Q) N; k- g: ` |