Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
- z2 V+ o. }, w; Y7 ~ T$ N: f
4 e9 K0 ~/ N" r7 X- \# Z/ E通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {9 R1 _" ]8 P9 o+ n+ n
- if( typeof(WebSocket) != "function" ) {) ?4 P# R$ x$ e9 P: E6 g
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");, V& H4 G8 p4 v& d S" V
- }
* n, c% x# H& ^ - })
2 a) y) M# J3 Y
复制代码
8 r5 S$ x& Z3 b' K7 h% v f4 O但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {
, a: `0 |/ `1 F. b( M - /*supported*/
5 y3 w" L$ f( O - }
2 ^) a Y( U, w
' q- N+ f, {- I! e/ q _ n( }- //or
" u4 ?; z, q, E# `3 ^ - if (!!window.WebSocket && window.WebSocket.prototype.send) {
3 \2 a- j* e' ]5 i4 m: u - /*supported*/) }% u" ]9 P6 x5 m9 H
- }
复制代码
7 W/ a+ H7 O% Y$ e1 D |