Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。* d. a4 Q( ^5 W: X
, |- h0 [$ O7 K3 b% g0 `2 w
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {5 V) X U0 S7 j0 t( {" t# R- ^. G
- if( typeof(WebSocket) != "function" ) {
9 Q4 }* y2 [ `, R7 o4 R T - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
9 z1 [" W- \ K0 G, G, e4 T - }
* h5 h9 ?9 e9 a0 w+ r+ z6 G# @ - })
' S5 p: R/ G1 n6 v2 |+ f
复制代码 " `# n! | N1 r) K R; q" M: y
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {2 ]; S6 z4 X& y$ b) l
- /*supported*/ % R- O5 u0 {& ~' o# V: L
- }
+ v0 I2 B( R0 R - % i1 P% w: Q6 M+ {& o. [, d
- //or) |6 e, l6 I2 b- M, v+ n2 X
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
( _: n4 s8 K% D! M( T: k - /*supported*/
3 O$ }8 s1 b0 ?. ]/ m9 E/ s - }
复制代码
" U- X; O8 x- j/ Q |