Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。7 }) A/ Y/ s/ Y. A7 S) J
$ t7 o$ _) T6 B通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {( t: y- `. d0 ~
- if( typeof(WebSocket) != "function" ) {
& W7 Q+ N4 h. O9 w) I* x - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");; ~. t: o3 r5 l9 s5 }6 j# q; O
- }* A. a/ B' y* r. n
- }). }' B- t" t1 h% f& X" {" j
复制代码 + c6 y. r& v# Y1 B4 U- P& s
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
! M5 q5 ~; M: M: Y% T# l& W& D0 D - /*supported*/
2 l; s5 D' E% v7 [) u - }" i) D5 B% D# A, ^7 }1 M2 r
- " ?; @7 s8 S9 x' l5 `# N& S
- //or
- n7 V; p; R; W/ Z" E3 K - if (!!window.WebSocket && window.WebSocket.prototype.send) {0 \ p% i8 w9 t) E1 V) Q0 W8 c
- /*supported*/' d% }$ s" S4 y, [- T
- }
复制代码
6 i6 V# w" @' l3 X* B5 v G4 q |