cncml手绘网

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

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。6 K- J( _( M( [' Y9 ^& Y2 z

1 I) L4 F7 q( ^/ Y9 D# ?! Z7 K' S! c  }通过何种方式检测?

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

  1. $(document).ready(function() {
    . r9 v0 g) }  [# A( O$ L
  2.   if( typeof(WebSocket) != "function" ) {
    6 z6 [* X) M' b
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
    9 V8 ^3 m( \$ |. e& Y
  4.   }
    8 a8 \6 s! _2 d  ~* {: [
  5. })
    ( L' r# O: T* o0 c: H4 c
复制代码

% _" B1 I3 A/ s

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

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

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {
    ) ~  W& \# A) n. q: ?! h
  2.     /*supported*/ : e( u* \+ p+ p" }2 o2 w+ ^; `/ n
  3. }' U6 q6 p% M! x' }
  4. ! h+ R$ t- H. k2 S4 F" I
  5. //or
    3 n& E" S1 ?+ ^7 M1 T! |$ I/ b
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {
    ) j: P+ i) }/ B6 s' q
  7.     /*supported*/% P* U. Y, }( l- v" b4 p
  8. }
复制代码
0 l( Y  p" W5 }0 V





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