Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。2 r* t4 l$ c9 S
: s& {; W* q- c2 ?9 k' L" J
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {6 i8 w1 N0 K2 L g3 e& ?
- if( typeof(WebSocket) != "function" ) {* x* B: G8 l( p5 `; a: G
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");4 |! D9 U) m7 x0 d( s- L G
- }6 @3 j8 q' G% N2 R
- })3 @; N4 b; j3 O( m
复制代码
2 e6 v! y7 P- y2 _但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {' h7 q. X2 N) @- a6 |
- /*supported*/ 4 ]2 i( H: w: @1 d: l
- }
( @" r. I5 B0 \' N1 S
) b; L+ B: d! \. {4 v- //or& L6 x$ g/ S7 ^* P4 f" x2 t
- if (!!window.WebSocket && window.WebSocket.prototype.send) {! s( \+ U8 k' [" k. F
- /*supported*/
6 t* C, P% a+ C! R, w; L - }
复制代码 2 {1 ^% @9 a4 e$ w5 c
|