Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。; y( K: C( T, V* y$ i( D$ W
9 h, B' b2 t( R2 `% T5 T
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {& t1 t7 L9 ?; s( ]8 F2 l$ q
- if( typeof(WebSocket) != "function" ) {8 y7 ?; q2 c/ D
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");* t0 k: n0 P. J i# |4 Y
- }5 x/ M- B! J% u2 i4 p) z
- })
# ~! L5 N( x/ ~5 L/ w- H# {- V
复制代码 ; F0 x, x& V0 l+ v N) I
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
" D6 `$ Q& k* [ - /*supported*/ 1 Z6 p5 R }8 f- ?* n7 G* o
- }; A* F6 l8 a3 O$ \" Z
* h. E' s( Z; T' i `! F, A- //or
7 s/ r* ?) b" z- J& v3 |& Z - if (!!window.WebSocket && window.WebSocket.prototype.send) {
6 I6 t+ L8 c; G1 Y8 R9 |) y - /*supported*/5 ]" `4 S5 G/ K4 b
- }
复制代码
" \+ u7 I+ j( Q& D: v5 P |