Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。& k8 A" @$ [" g. _2 k$ n# j
7 x4 q2 w" [2 t, U通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
# |) h) H; J" D - if( typeof(WebSocket) != "function" ) {% g, D# z# b* ]) q
- $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
1 a( J( _0 \2 H& o/ F. K - }
% u, G8 i# P6 \1 L' V# M! E6 [ - })
. s8 u9 X, | z3 V% P
复制代码 8 P( Z! X; b; a$ ^8 h; r/ R
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {4 M: q1 ~4 P7 g8 b5 C
- /*supported*/ & F5 e9 O+ [5 G7 C
- }
4 U; |/ n7 |9 w2 N, Y* I6 ~
4 C& r* L9 A( O- //or
b' ?0 u' k d - if (!!window.WebSocket && window.WebSocket.prototype.send) {
5 |4 D# S$ ^6 M, {( t9 T; }+ g - /*supported*/3 K, q: ^ U" ^; z7 z# d- Y
- }
复制代码 * r* @- V* j3 O [/ _
|