Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
3 \6 p# P3 J+ ~7 m' h
( H4 X1 U& @" K' e" Z
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {, g; t7 `, C9 {9 T$ t$ G
- if( typeof(WebSocket) != "function" ) {5 v& t# `0 e2 o; H; Z
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
$ `% i& Y d/ g1 l - }% R; V n. Q. L" W6 A7 A5 C
- })
& D& B: m% v5 R, L8 F
复制代码
' k3 w* o9 B% i0 r+ a但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') { P" P. P/ E7 x* _
- /*supported*/ - ~/ y5 g! Y; j1 @2 E
- }
; X2 L1 H) l% ?, I - 5 ]4 Z$ k8 @7 ?0 F( E" x
- //or
0 u8 o& [4 H8 m - if (!!window.WebSocket && window.WebSocket.prototype.send) {
0 V1 X0 N. [$ B$ j% v/ d& i" d; h - /*supported*/' W) G! ]& ?' S+ F7 I2 B' g8 @) I
- }
复制代码
8 e* M5 D2 t" |4 s8 L1 r# |! u |