Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。7 c7 p% ~8 H. {" A9 J; n
+ ?+ X3 N) M: n! o
通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {( p6 Z; ^( _: G: s; x; k( L# V
- if( typeof(WebSocket) != "function" ) {
( `$ m# a J8 ~- I - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");6 F: T+ g; D. m6 ?
- }; Y* n' Y9 S. J& u" t2 I
- })
; a* `% X1 G) i* G' Y
复制代码
: M, ^2 L, k" k2 Y9 m但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {; m7 S* s! E. E( l6 s& {
- /*supported*/ 7 Q: K2 ~. P, M% b4 v0 M
- }9 H8 S7 Y) x2 s
- ' @5 T0 N5 H) V5 `8 @+ @' Q2 N
- //or
+ w3 t; k; R- H+ K, C7 k1 v C4 W - if (!!window.WebSocket && window.WebSocket.prototype.send) {/ P( V, s' n Y; j
- /*supported*/
( e* I; _: Y" L5 y3 V - }
复制代码 ' W& i/ O% l `
|