Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
0 ]8 r6 N" Q" F* N
3 y# r. @ [2 o% z2 v+ J' H# s通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {3 ?2 f, d/ S f+ W% G, p1 u
- if( typeof(WebSocket) != "function" ) {- u ?# v# H5 p+ M
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>"); o/ H- I, n" W* l1 r) D! @. G
- }8 a5 b8 M: T0 ^& g3 M& T& @8 Y" M- ^
- })
7 G% C, L. n; Z9 d+ I* j
复制代码 5 V7 G1 B7 A9 z* A4 P) j
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
* [/ ~. ~1 {5 T5 x/ J2 G7 T1 b" ~3 H - /*supported*/
% }3 n% j: d# H+ Z6 e* O - }
$ I5 }0 ^* C/ v$ u! V, I# w. i - + B/ [$ Y9 j* p: s3 h
- //or
) f8 Z4 S! t+ V+ T+ W0 ^ - if (!!window.WebSocket && window.WebSocket.prototype.send) {# Y5 }/ H" v2 a5 ?" v; G/ P
- /*supported*/" V g; a$ s- M" v/ r
- }
复制代码 / s/ W. P* B- b1 A( N
|