Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
4 o- A2 O& S6 _+ s3 P, G
/ g6 x7 k% T* o/ I$ ~% O通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
\% j N* v2 A$ W) W$ e - if( typeof(WebSocket) != "function" ) {
) X- o9 q) b5 l- q% h% W - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
% B, Y( n2 W6 v: h. u! J/ v - }
) ~- T) ]/ k9 I4 C - })6 Z- r6 @+ a* h8 C g4 ]
复制代码 & D+ \' \# o) p
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {; q) {0 ?& _5 I) f+ L6 G0 Z" Q% H
- /*supported*/
3 t( i% G7 r5 {! ]. z- }: e - }
0 t; e* u% [4 G) D# S# p6 v* Q, I
/ `3 E# ~. _) W: M+ X- //or6 I! ]6 h- ?0 U7 v6 a; J
- if (!!window.WebSocket && window.WebSocket.prototype.send) {7 t: q3 D) \* V
- /*supported*/
+ V' j4 i! s% b - }
复制代码
" p) l! h1 L1 z) d |