cncml手绘网

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

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
8 a7 t) Z3 _1 k) `0 q9 c" x
; x" G) z; ~9 J" N. r+ [通过何种方式检测?

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

  1. $(document).ready(function() {2 L: }4 G, F, y+ z" I: \
  2.   if( typeof(WebSocket) != "function" ) {
    ( N9 [; P+ D; c: r
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");
    6 Y' g% S8 J( b& e1 O  Z
  4.   }
    % ]  I6 U9 Z1 P8 \, b- i
  5. })
    9 e) Z" Z3 N8 O2 E1 P3 ~5 N
复制代码
8 g. h; D3 S: b+ T  O

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

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

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {
    . P7 [( K: P! Z$ B1 g, S- m
  2.     /*supported*/
      y" ?# d5 A2 V$ A
  3. }' n8 L/ @) v/ c& h) ]/ S! T

  4. 2 ?5 G% D# Y& Y, C& R
  5. //or
    1 p. p! Z' j, [2 }2 @
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {
    5 B6 ^5 U/ k# o1 w; }' A( [
  7.     /*supported*/, }" ^6 z; W- D% z9 L  K$ K! L/ x8 o! x
  8. }
复制代码

8 X# x  ]0 M* U2 G" R




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