Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
! w t+ f V6 T8 @5 ]0 s) L- m
) O( p/ L- u. [. c通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {9 E8 ?' e/ X! V, J; w7 H4 D* B
- if( typeof(WebSocket) != "function" ) {
1 S% h, a, i: q - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
6 M& H# j7 a/ y R) e8 A- U0 I - }
* g+ M) \! F+ X - })
( L* j5 n3 i" t7 ~+ E
复制代码 1 R! ]9 M1 |( q4 A. i; V
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {# g4 ?. g9 l( i0 }$ A
- /*supported*/
5 [, T/ ^) g- M' s u/ R! ] - }& P6 _6 }; [1 A7 A: H
- ; m, R6 ]2 X6 d+ _/ j$ u3 q* e
- //or# x' J& ~* ?8 z" }$ `6 X6 v+ C
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
& R/ y( p2 g" ?% i# j: R' s - /*supported*/+ q% ~ D3 x0 t" k( [
- }
复制代码
9 y& l! x& `, S5 |% T0 r0 o |