Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。8 b8 f1 X. }# V# x; u
$ A4 ~' \; ?6 W$ A3 `( p6 t
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() { G0 g5 B2 R$ n: a8 x( s0 {+ R
- if( typeof(WebSocket) != "function" ) {
& Y, R6 C' [, [! z# \$ C - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");+ i! _# M5 x' y; t* g2 n
- }
" }8 u7 M5 ~, E( H. _ - })5 X v) v7 i3 V
复制代码
$ x5 P. m7 V$ }! d但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
% H' J! r7 I! n; S1 B - /*supported*/
2 k8 Q7 A: w) V# R - }
7 G- T5 W9 |# x% S! ^ - # J" e7 u6 O. H. k
- //or) p$ |9 [5 c' H/ G8 O2 Z" b( m8 c
- if (!!window.WebSocket && window.WebSocket.prototype.send) {: {# U1 \: r2 W$ J
- /*supported*/
: e9 \) c4 b; _, R! X; t - }
复制代码
; |% G! v _9 C! t |