cncml手绘网

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

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
  N% v, p5 P/ l2 i3 H' N 3 f3 P5 N1 F6 X- p0 W/ [+ \5 |) i3 k
通过何种方式检测?

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

  1. $(document).ready(function() {% Y  y4 |$ P6 K& \1 g. t1 v2 y6 s
  2.   if( typeof(WebSocket) != "function" ) {
    / y) J2 z- [8 ~6 ~% j" }1 V
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
    % L* }9 j. x! R
  4.   }" W1 Z+ `/ w) B4 h6 d$ R. k
  5. })
    1 _% ?5 c' e0 {  l5 ^
复制代码
9 @+ r7 {1 J! W3 K9 U' f' P

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

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

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {% N& H6 p. O1 n- S$ w- _6 E, l5 ]; V: b
  2.     /*supported*/ , v( h" f  `" O/ V$ A
  3. }5 f& ^+ A6 ^. @# ]% O+ U3 T( a# z4 S

  4. " \. ?! e3 q( L& O& ]; Q+ Z* W6 \
  5. //or
    ! F$ z% y* f% m: D. k' b
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {) q( k& G4 @1 G3 `! h1 k9 v* s5 H" J
  7.     /*supported*/3 P# @" o) O' P
  8. }
复制代码
  b/ N4 v5 ^8 I2 n6 I4 R3 e& @





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