cncml手绘网

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

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。9 O! `! D# }- S2 O+ ^. X( c$ h
1 @0 k& w* s8 v* w. p2 B2 E
通过何种方式检测?

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

  1. $(document).ready(function() {
    # Q. z7 K( ~% D: u" t0 b1 p: J% x
  2.   if( typeof(WebSocket) != "function" ) {
    - _/ \! d4 F  D& T
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");4 ~) r+ e9 |: U0 j7 |( k
  4.   }
    3 F% Q% f& w0 ?1 R* u, G# R7 V
  5. })
    # u6 y- E# Y9 Z/ y6 @0 f# z
复制代码
& T. B3 t1 `4 w5 x& D7 l. a

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

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

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {  R+ y4 a  i2 `& d5 m0 i( o
  2.     /*supported*/
    ' v2 N: h; d4 q2 l% @' F& b
  3. }, ~5 c' u1 N+ [. h$ K9 f5 c6 h2 a
  4. 0 k  T" |1 d$ V
  5. //or! D6 J% s8 d" |
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {
    * _" u  m) K, b; h( o" T2 Z5 T
  7.     /*supported*/! o, z7 f7 g+ I8 ~- r; l; |- V
  8. }
复制代码
  ~0 a! b! _5 E2 C* M





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