Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
! s) ^$ v4 L U0 a
2 l& E0 V$ t) A+ \9 r6 ?! S$ S通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {# x- ]5 G& X. Q5 s+ M
- if( typeof(WebSocket) != "function" ) {
: q$ K; {) Y" Z' D2 R( ? - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
0 v9 b" G# k* N: C& [ - }
9 q/ Q7 [& h! _ - })0 B- S1 Z: K3 c1 L0 O, s4 Q
复制代码 3 V7 P" H# K& R, [; Z; B) ^' D2 V
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
5 {# Z* l. e; A% h9 |1 ` - /*supported*/
2 A6 S$ H. H9 x# ?% p- m - }
1 p$ G0 m; D% ~
: d6 g' T' s& a R- //or
0 o* E4 q( X8 U! ~( W9 d7 G - if (!!window.WebSocket && window.WebSocket.prototype.send) {% G& N* a" d# S
- /*supported*/
' ~! b9 Y+ {+ _) }! y: @+ H+ }% a - }
复制代码 % Z; k$ R* u8 r Z. V! H3 @8 Y
|