Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。% t" ~1 N! K! t2 Z
2 S. y; B. A4 {7 N X4 K T
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
, e/ U" _; S9 p8 [+ j0 F9 q5 d - if( typeof(WebSocket) != "function" ) {
# K4 r; p& P: P, g2 e; L - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>"); l6 ^( ^# C# p* k
- }
' R8 _; s% C: v6 M" X k. @& Y - })
2 F9 p. m# O& U- I# h& r8 C: H
复制代码 4 ^+ F q# F% ?! c- v* W
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
: x3 G+ Y) o3 S" {6 Q - /*supported*/ * E, Q) n9 ]1 C9 p
- }! [ ]% \& b- l$ o: h
- + W" \7 X- E8 O& m
- //or
' Q( i2 C( e* q9 u1 j# x& w - if (!!window.WebSocket && window.WebSocket.prototype.send) {
1 y _+ s2 R7 p; n! z: b( ] - /*supported*/
0 B `; Y* P6 |# h: Y' G' s& Y - }
复制代码 ; ~( X- ?9 D' [, w& {& c
|