Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
, }$ a0 f% L+ H S
8 n% b0 V* v8 Q' h c
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
3 }1 ?! r9 L8 y5 m4 i, H - if( typeof(WebSocket) != "function" ) {
7 L4 r. ]4 D# ^4 [. W - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
" p1 y: \9 j8 T8 Y$ U6 }9 Z. K8 x - }
% h1 L7 \8 d6 g0 G+ p7 ^" ~ - })
% V5 s2 r8 _6 F4 Z0 E }0 l
复制代码
) l! U5 z" I9 ^但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {) R, ]+ h, v( E! I
- /*supported*/
# F; H# m; q, c2 p/ s - }9 r! n$ \% d$ ^% z2 B
8 d( H1 _3 g$ v0 H' z. X7 P- //or. r& A! [% o. ~/ T+ ]- e$ y/ h k# r
- if (!!window.WebSocket && window.WebSocket.prototype.send) {7 A" b- v, e# y2 b
- /*supported*/
3 L5 i9 l* V9 @. M' m) R - }
复制代码 & ~/ @' k' u. g
|