Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
3 G& r1 L V* N8 {
$ C3 ]( ]8 n0 z. v' ?2 D
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {1 Y1 g1 o5 ?7 W
- if( typeof(WebSocket) != "function" ) {
9 w* n3 x9 e* f u8 B. K - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
3 h) a2 ^" r: U t6 n - }
. P5 f. c# t: R( O0 \# [ - })( m$ P& @0 A8 Z5 G( g
复制代码
2 u% w7 G& @+ W但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
- `2 ~# C! H$ T2 r J - /*supported*/
2 w8 p9 u5 q/ y3 d( m6 V/ V8 I - }
2 r( v* [+ F9 k4 @. G
. c' ?& {7 }( H+ O- E9 v1 h4 L7 k- //or
# a! M; Y& c4 f - if (!!window.WebSocket && window.WebSocket.prototype.send) {: `/ c( Z7 ^/ C! F6 l3 a/ W
- /*supported*/" B v& u% o! v5 l$ l, ?
- }
复制代码 ' U% \6 y2 b4 Y" L2 _( {
|