Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。- G' A. D3 u1 U9 \* E7 W$ `
! B7 d6 U C. n6 b3 a V# b5 B: w
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {& F N; p, q/ u5 L2 V5 o5 p
- if( typeof(WebSocket) != "function" ) {5 t7 P. l6 g D$ j: ?
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
/ \( d9 `5 F- L7 j" d1 P# x - }
" {2 s3 u$ U" J - })
) }8 p- C6 U1 m8 d0 `
复制代码 9 h, R. j: e0 P& {4 u6 N
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
0 X8 o. S+ z9 h - /*supported*/ $ Z% q# y/ Y$ x
- }& ]* C+ o" R; O T6 E! q5 h( n
- ' L+ J1 u! B/ v' f: @
- //or' m, m/ m8 _! l0 @$ ?* G
- if (!!window.WebSocket && window.WebSocket.prototype.send) {7 k* r1 ~! g5 h! C
- /*supported*/
* k7 C0 m8 ^. H7 f% c: l9 Z8 b - }
复制代码 0 p, Q( S5 l3 p. a
|