cncml手绘网

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

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。7 {: w6 ~0 ^0 [7 r/ B& ]' F

& V- Y( ]1 e: q通过何种方式检测?

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

  1. $(document).ready(function() {
    % m: {0 {! g1 {% `+ L( v
  2.   if( typeof(WebSocket) != "function" ) {" K6 N: i7 k0 V8 Y
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
    , H& z, U3 R) n. d9 y, O7 X" G/ Y
  4.   }& S& W5 E" n1 n# f! S. H0 O* s* Y
  5. })/ U" p, \# ~  D; F7 E2 h8 i5 O
复制代码
  h, l" Z, i" n+ T$ O% b; b

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

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

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {0 T1 [! a  L$ }4 J
  2.     /*supported*/ % L9 h: i" |/ X/ S5 S
  3. }" g4 d2 \% ~; M

  4. ) D8 i& [( `. P( L/ {( h7 T
  5. //or3 \$ [+ l7 L3 ]
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {
    9 G; |; H# X- j% z; {
  7.     /*supported*/
    1 {1 F. v" g5 w: y3 k
  8. }
复制代码
( v- j& |' x& A* H0 z+ p' T





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