Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
. F3 h2 R0 p- Y, L
I0 p/ x( R J: H- j3 g {通过何种方式检测?比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可: - $(document).ready(function() {
( I/ Q3 o% m( P$ V: r4 r, O+ P - if( typeof(WebSocket) != "function" ) {
9 z- Q1 ]; J& s9 m- |& q - $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
9 m5 I' V: q: n3 D - }
0 }) w; s! B r- h& e: ?2 ? - })+ p6 u/ M; X; n. q, I3 X* V
复制代码
+ q! _& X" Q* }: D9 l9 \1 H但是这种方法存在局限性。 在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以比较严谨的方式是: - if (typeof WebSocket != 'undefined') {. g1 `+ s& G4 [. K9 Z" \0 F3 c
- /*supported*/ 0 e$ M7 z4 _/ n E( |
- }
# A& O$ z; L6 C r5 q! F! V
9 B. P& w# |# R$ }- Q0 C" S; d- //or9 I3 x% W! k9 ~$ |. n
- if (!!window.WebSocket && window.WebSocket.prototype.send) {4 D9 ?! ], q# m" G8 k; N
- /*supported*/2 C1 [0 d/ b, \" U4 _
- }
复制代码
' k( ?) w' V& K' r5 X/ E* }- Y |