Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。- w6 v& i* U, F" P( z* h' E
; {% f z. h; F1 h$ M+ _通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
5 U& E' B& T7 G) w. E' \ R1 p/ e - if( typeof(WebSocket) != "function" ) {# ?" U6 W1 b" X" x
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
6 g# l3 [: z, x: y$ m3 J - }
$ c6 C: T i: U2 i/ e% O! \. a - })( M$ W" U3 Y6 w* ^# t6 `
复制代码
1 `8 Q1 r1 z# m; E# w但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
: d0 C9 F9 b0 A5 D4 D% k - /*supported*/
) h e; }2 G& r) k) z - }% r) C( f0 s% y& m& V2 O |% a6 n( V
! X7 D. R: H1 Y. u" l: D2 _9 g' u- //or
7 Z$ R: g, r# G9 P1 ? - if (!!window.WebSocket && window.WebSocket.prototype.send) {
" V, y. f* G& j# [- g# k - /*supported*/6 O! O" ^/ k! r/ J. c$ Z
- }
复制代码 * f8 @2 N7 I% d4 e
|