Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。# X& x/ V; q* J2 f. F' E0 r
$ a+ \' ~: s# v& i6 a通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {0 V4 c% ?6 u/ x# z
- if( typeof(WebSocket) != "function" ) {0 B8 `5 L+ U _8 D4 A8 q
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
! `( v$ \" W6 C) v* h0 w0 N - }- J! ]' u* ?( j
- })5 [- r" l* S; n$ h+ P; S
复制代码 / {) t) U8 H0 W0 }% |
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {4 t0 o0 H3 `5 d/ k
- /*supported*/ % C% Z. ~" t5 Y& j5 `/ o; ~0 G
- }
' W$ P; A" ?/ F! w+ P( a. r. r - 2 F B' W5 f( Y3 ~6 s$ H
- //or
* k& q& Z8 H/ X# E* j+ P* g( `2 ? - if (!!window.WebSocket && window.WebSocket.prototype.send) {
: }# ~9 k. f6 {3 ^. {* |( O; Z8 d - /*supported*/
3 b7 u( `# I& N' ] - }
复制代码
% @5 t3 Y! L3 \/ G |