Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
. K7 U6 y# U5 d# K* I' w1 P- E
, U& V/ D( S" B
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
" Q! g0 v6 R" ] - if( typeof(WebSocket) != "function" ) {+ i) y% ]' z! e8 o: B
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");; @; ^* }" d/ q' h. H( M+ F; n
- }
1 m- b, z$ a6 t: _& K$ q6 P - })# E5 ^& Z9 u) e5 M ~( S( E
复制代码 : U& H( }( M* ` }0 Z( ~5 o" H4 \
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {* C. X, y, r0 }7 l/ i
- /*supported*/
# ^, |2 o" N% l5 K" \/ ?& h - }
) ?0 t" h$ n8 \4 V+ @; G3 T - & [4 @/ z9 Y+ E& v
- //or
% l+ T5 c9 E% P# E" w - if (!!window.WebSocket && window.WebSocket.prototype.send) {
9 O# T5 `: t9 v/ r! | - /*supported*/
6 D' y. Y; ]4 a& R - }
复制代码 $ J! x& I }# ~/ Y2 a) {
|