Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。# C4 O" K, M; I. T
" K7 H) R9 u. U( S6 C' U/ R通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
* I* P8 m$ v) `" F+ `' l! { - if( typeof(WebSocket) != "function" ) {6 \. o, H( a2 g. g7 a- f8 ?
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
1 X4 Y9 h! g3 y. T# q - }
6 E/ g- n3 j1 m - })
; v" c+ l0 c7 p# G# h0 k0 h
复制代码 / N1 Q7 {( c1 F7 P# n, b
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {, S B6 Z: K! c7 B) j0 G
- /*supported*/
: P/ o2 @0 U# u$ G5 V$ {6 ]: H - }9 O! S5 ~/ H8 c _9 ]( F0 ?
- : e2 t" n/ u. d9 y! l6 q1 d
- //or
% j4 @* A7 S/ Y1 Q5 i - if (!!window.WebSocket && window.WebSocket.prototype.send) {
8 x- G) |4 W9 y8 n - /*supported*/
5 H. C" q; l! l4 y8 f- U - }
复制代码 ; n) J+ [8 S1 `/ @; V
|