Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。" W% Q8 Y* Q A# ^& c9 }0 G) L" b+ C
& U5 E: m, L9 ^ i通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() { L( {3 |8 L0 ]* U+ m
- if( typeof(WebSocket) != "function" ) {
! ?# X- D2 c4 {2 ~+ f5 Y - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");$ e( Z) d% O: Y5 L' c: K" u) W
- }8 s7 `- E9 \! t
- })
* Q' L5 E. h) M: `2 R, W* O
复制代码 / u) q5 ?0 ~3 o2 u% [& ~/ W9 o9 k$ M; T
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {$ o; d) j! @5 u$ @% l
- /*supported*/ 8 x' P N4 M! v ~ M
- }
' n9 `+ K1 P7 Q$ k8 I
/ Q( W8 ^5 l# M! u- //or
% y$ n4 z" p3 ^8 c# ~2 Q; I# N2 [2 U - if (!!window.WebSocket && window.WebSocket.prototype.send) {9 H& E1 |# H( o( C8 S* R* @+ h
- /*supported*/2 Y* J4 x+ L/ |4 U) g! i3 _) }! E; E
- }
复制代码 - Q& X8 t, v+ ^. L% j8 O- n
|