Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
8 \7 n" E" {/ V r( q" e
" P1 s- N" X3 n
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
+ _' D# A |) Q& J: | - if( typeof(WebSocket) != "function" ) { r/ K N3 j' w8 |, A% x# R1 C
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
. J9 X" z% A4 s9 b; ~' ^ - }
+ P [$ z; X1 g9 s - })- g) `0 f8 P9 w8 p, g8 B1 Y' o
复制代码 " m% \! q: n9 |
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
F/ e G# B) B - /*supported*/ 5 a+ n' c! a+ T5 T% o1 V% L
- }
% I6 C5 x+ j% t4 i c; K
0 C( [( B. K8 v W( Q- //or
. w) H: b$ O* W) Z* J: c$ M - if (!!window.WebSocket && window.WebSocket.prototype.send) {7 ~, G ~, F4 P4 F' L( E) @
- /*supported*/# R, v# j( [- x: p
- }
复制代码
7 D* s# B6 @1 V |