Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
* j' l+ E5 O+ W, w+ s# J
: t+ Z2 P3 i( y3 t通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {0 W1 c6 y1 z1 l1 |+ [
- if( typeof(WebSocket) != "function" ) {% S3 |+ v- K5 S+ H
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
8 n2 U8 `) \+ s% [7 N - }
) U7 \- \ \. v$ H: Z - })
2 u& h- z; Y( m$ ~+ i: h
复制代码 ' O* V) r3 C5 Y( n! e
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
2 }% r2 b3 T2 b* J! ~/ U - /*supported*/
9 h; Y. Y; L; o8 C. x. L - }- b" I% o3 v. o3 o7 y
- 3 L3 K- a3 {: [
- //or8 @6 [9 {3 z3 y( ~4 h. l
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
. T2 q! i- r l& m s( i1 \ - /*supported*/
; j5 |5 m; s( n2 f; P2 L - }
复制代码 4 ?+ B+ {8 m6 I2 y
|