Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
' ]. L/ }$ u1 h6 Z0 F
4 N: h" b1 V, P$ E% ]通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
8 g Q& u" k8 t/ S$ }4 ^ - if( typeof(WebSocket) != "function" ) {
% J! B: |- }& p - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");! t: A$ s& n1 W; p8 ]
- }
- K7 M- P& F9 @# m3 r7 U- Y - })$ I7 l( M y0 z4 s6 C
复制代码 , e6 f% L+ {7 j1 g- Y
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {1 E1 y8 z5 r7 l1 f' B
- /*supported*/
' _1 G4 H0 |! |9 i6 r" F# { - }
5 e) f8 _! G1 |, M
: b5 m' d; G: z' e! J3 B6 h- //or) b/ D/ X7 _9 f" T
- if (!!window.WebSocket && window.WebSocket.prototype.send) {6 f9 U* v! `" v; Z8 b3 b7 O
- /*supported*/) D' K: c5 L: i! R
- }
复制代码 , F: b5 z- T$ v! a% ?; R, W# ~
|