Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
% [/ g2 a! H5 c, h) e J8 G7 A
1 C- A" u! [) W$ j' {通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {) c) q4 B3 G7 x- \2 J7 C! B: N
- if( typeof(WebSocket) != "function" ) {
; M$ ^0 J6 C: K6 J - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>"); s" F7 Y6 }& L
- }
/ m$ y$ J" n; K0 g1 b - })
5 {9 j& e5 V( h! N S: I
复制代码
1 T& E: K/ Y1 A% W但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {. a1 m: G+ I0 v8 U$ q/ s2 V
- /*supported*/
6 L) L9 T0 b5 f p' x2 _: }$ \: Y) | - }
+ ~2 ~0 c7 o. b1 U2 l - 7 n6 q- F4 i- w
- //or& `" I" E2 I9 Y# n. G- s
- if (!!window.WebSocket && window.WebSocket.prototype.send) {
& M* }* G2 o |% t }4 s. _ - /*supported*/% i1 i# h7 v T0 q1 y
- }
复制代码 5 {: v/ ?" @/ O! e* _+ r
|