Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。6 q/ s+ W$ q, H1 r* ]8 O$ ?
: l9 p' X- [0 f5 D4 m1 A
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() { |9 j. m$ D) w) ?* r U8 s5 p
- if( typeof(WebSocket) != "function" ) {
, w8 }; | K0 p. @! n - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");3 ]" _. g) q6 E) h( e2 I5 V0 @
- }# i7 A( w7 O! E
- })& D. M4 ~; h4 h; M; l, Z
复制代码 ( Z. O+ v" k2 F" B
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {* i( E/ _9 o, J; g5 {: ^% n9 ?/ s$ t
- /*supported*/
( s2 k( h+ K' }- h: X+ ?1 W - }: Z3 E# [3 s+ Y+ ^( ?: C, J0 b
. v5 s# P# c. T w. m" A' d- //or
. e0 ]; q. e; x! u, S - if (!!window.WebSocket && window.WebSocket.prototype.send) {- ` P; q4 A4 A' I4 o; P
- /*supported*/; N9 c# ?! D. x% x
- }
复制代码
$ ^! c6 K& r$ d# V |