cncml手绘网

标题: 判断浏览器是否支持Websocket [打印本页]

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。5 H8 n- }- ]1 G& g# K! \
9 ?: i  P. {# K0 V$ T; K& ^6 t
通过何种方式检测?

比较简单到方式是直接判断全局对象中是否包含WebSocket对象即可:

  1. $(document).ready(function() {! M2 S0 b8 Q, d2 D
  2.   if( typeof(WebSocket) != "function" ) {
    . Q  e) O- A! v" T& F! K6 j4 g
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
    : N7 o% j. Z' [; R1 h6 U2 [
  4.   }1 L  b! h8 m' d0 d. k4 c
  5. })
      a2 J0 N6 n" j5 ^6 Z
复制代码

" G0 X& W/ ?) @1 x; T' n& Q3 O9 q' ~

但是这种方法存在局限性。

在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {- d0 u6 O, p  h* Y* Z! Q
  2.     /*supported*/
    - _# j) u% G; M# ^6 H
  3. }
    $ x. V9 ~3 e# ^5 ^- m2 p
  4. / n4 z4 k$ X/ Z- A% o0 `
  5. //or
    " b. _' q! B- L& Y2 ^+ P) e3 T
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {4 f9 s& J/ |$ A' `
  7.     /*supported*/
    ; @7 U8 H! S& y
  8. }
复制代码

8 ~4 L% x$ W  p4 J( O




欢迎光临 cncml手绘网 (http://bbs.cncml.com/) Powered by Discuz! X3.2