Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
/ F5 L* p; s, y3 `, L" X
% p z0 Q( @4 M4 M3 e$ N, e通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {! k4 l; j0 j8 c
- if( typeof(WebSocket) != "function" ) {
) W ~9 K' M) b' u2 b - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
. P* V6 K/ s. G. h - }
& E8 T! W5 b8 L4 ]& S$ d0 h - })6 g0 }; b, D+ Z D
复制代码 & T/ `4 L7 e7 H$ n
但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {. ~5 D4 P1 x; M t, n; g
- /*supported*/
2 V, i# z- f6 D9 G - }0 l, N9 \" c7 @+ `2 p9 M
. z* O. X1 R1 U# A* k: Y4 K5 Y- //or
/ q) v* H/ j+ d* S/ ?% S% _ - if (!!window.WebSocket && window.WebSocket.prototype.send) {8 b( I4 i" {$ A: E1 H
- /*supported*/
1 G: O% B" Y! a - }
复制代码
7 A# h, B; e8 b3 q: t8 s |