Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
+ o. A% t# n1 j, [. Z9 M+ R
5 v, a7 V% c# J通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {% E N0 ?6 L, B( r9 H( u
- if( typeof(WebSocket) != "function" ) { d) |3 Y1 M( m" d" s" @
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
; N, w4 P1 \" l! L, [0 O, V - }
& ]8 r& z |! g% b5 O - })6 z4 J9 ^9 T* m5 E
复制代码
" `" r$ y8 h( i% d/ q但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {5 ?# z( P( X: B0 V8 X
- /*supported*/
1 }8 U2 }) [) P - }1 k. A+ E3 x9 p" q" b4 {1 m( o
- " T; B- i7 ~6 @( B8 \
- //or% z' [5 O. b( O" `( ^0 M9 |1 n
- if (!!window.WebSocket && window.WebSocket.prototype.send) {5 A! ^- r: `: U: z f
- /*supported*/0 z W1 m( Z N5 r2 A
- }
复制代码 9 A* u' q, Y: P6 w! _
|