Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。9 b( A2 I$ R: {* s# e
9 i, x8 w) k E( x2 Z* N# x
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {" o1 l( d* p" P* N3 o" W' z
- if( typeof(WebSocket) != "function" ) {6 Z- @6 J& B: i# b5 _, O* J
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");/ W R( ?$ t' g: W/ \
- }* j& i- R* @ ~9 Q, v4 [
- })
/ }3 B1 b8 W" B, i' m
复制代码
- W* S8 N% Z. M1 n# V但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {; ]5 N5 F8 x+ S2 x5 v% I" _
- /*supported*/ R5 R. f: z, U! S3 k9 R$ W
- }" o( L+ }2 j6 {1 _7 r
- . P6 H4 \) W, E& k% X
- //or
: }+ ]* k6 V* S, K3 H- F' e - if (!!window.WebSocket && window.WebSocket.prototype.send) {: r' R, E: A7 o- [4 N
- /*supported*/" r: f: F2 A! g& t8 S
- }
复制代码
0 p9 b" A! { @9 m* R8 ?' L |