Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。' p- O& R6 ?9 H+ R# o
7 ^% k& v, q. x, f& s通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {3 h' D8 b, i! n
- if( typeof(WebSocket) != "function" ) {
& z8 c& C1 `' _0 _" z6 x0 r0 |. Z - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
6 M& _( _# G# O/ \' L2 N - }4 s/ u, y9 J3 I. ]1 E6 Y$ c0 f+ o
- })
t7 ]% d. U# R$ l
复制代码 2 [4 T$ }7 Q+ }! c: j# ^
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {, I5 B- T# J( ]+ L& [* L8 e
- /*supported*/
' B5 C; Y7 I& m - }0 @" {+ l: }7 J: ^" o
- ) O; c/ d% W! P2 H: f& p
- //or
2 T+ e) e: ^% c2 o5 b" `3 R - if (!!window.WebSocket && window.WebSocket.prototype.send) {
# z) J4 F$ Y# w4 j+ k" ^ - /*supported*/
; J# r' ]/ x( z/ i - }
复制代码 5 f) G: ]2 T' v$ p/ y% t, s/ t
|