Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。( A0 q( t6 J* F5 T+ y( ~
! u( g* k2 x+ D# a& ?* a通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
) A0 n% l/ Z1 T% `" G - if( typeof(WebSocket) != "function" ) { w' i- h0 N c) i; B$ j
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");- ?- E" z6 R+ B: B* A4 p
- }
" M Y/ e$ y) c. _2 g2 W - })
/ f: S' X( p, e* w! J* A( H8 W
复制代码 3 Q4 m- F3 ]# i/ S
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
, |6 w( y7 M9 T B - /*supported*/ . U7 Q$ D) l- U0 E& f `
- }
7 |5 \0 B1 b' Y+ D! c - 0 Q N7 H: v8 t' D( O
- //or4 f' I9 y- N) P' F) I0 Y* d
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
$ B# O# s- J1 t/ D7 H! S, }" h8 ^ - /*supported*/3 I1 v) C E1 j3 b) r) c% i9 M
- }
复制代码
9 W3 X1 I g. w* A9 [ |