Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
- J' t" U$ p# n" |% h9 s" h) _* H6 v
! a; l1 ?+ a! p" P! {/ |通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {' G. A1 u3 H q6 U7 B+ i; |
- if( typeof(WebSocket) != "function" ) {
: V4 R% W8 Q) f/ e& f$ e, e - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");* M+ e7 _! u7 Q( B+ w
- }0 d+ c- g$ a- q! @; b( [7 B
- }). F' y; A+ V9 s
复制代码 5 O ?7 a) A* p! m; p' U1 @7 s
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
; G5 W: r! J( ~ - /*supported*/
8 A6 S/ k& v& T - }* J6 [. u' K3 `, B
- 5 I- j) j8 z/ Q& ]! e' m
- //or
6 X* f# b% C r - if (!!window.WebSocket && window.WebSocket.prototype.send) {
0 q% p" T3 A! F4 ^' S0 L+ | - /*supported*/
# r+ `2 K6 k: U R, s - }
复制代码
1 p% s7 r: @( B/ v5 g9 f |