Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。$ r* E0 Q! f% @2 l- ~3 @
1 y; c; V: j" N8 y% _# ?5 M. Z通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
9 W% h. x! p1 g - if( typeof(WebSocket) != "function" ) {" R- P+ P: |& t3 ^( m, A
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
7 x* `' e1 |, R$ h5 P; i4 y: g - }
+ T* W, `+ k4 P5 u! M" C" l - })% N X3 I j! t* q
复制代码 ?- `$ O2 O: a, |9 y7 P
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {9 \8 M. s9 U" P# ^* a& I- x; |
- /*supported*/
8 p/ L, W1 |2 e) w) S - }' x; F% o/ o: f. K' w
- : w3 u1 ~" k6 c$ S4 ] s; O& @
- //or
9 y! g7 c4 m7 J - if (!!window.WebSocket && window.WebSocket.prototype.send) {
: Z. J7 E8 c. i. l& C: @: k7 W& z - /*supported*/
( C. O0 y5 N! q6 }) H! N - }
复制代码
1 K% P5 b5 V" M8 e |