cncml手绘网

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

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。
  l9 k* x& q% w5 ]) N$ S: r; |
& l, E! n& x! M. H! \+ k通过何种方式检测?

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

  1. $(document).ready(function() {" }. Y$ F% z; R8 b2 A  e
  2.   if( typeof(WebSocket) != "function" ) {
    8 H  O/ n( ]9 H7 q
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");, ?4 u( Q) o8 A9 z
  4.   }9 M" F1 v, Y% `8 @7 G
  5. })
    : E; y9 E% j" N: f5 y
复制代码
  W8 |  m+ \7 y/ Q) N" ~2 R* }' O

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

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

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {
    5 l7 E* _  _. Y5 g1 V1 _
  2.     /*supported*/
    ' t& W, J/ @( U' w$ Q- T
  3. }
    ' k, D4 k. T4 \; ^1 J1 M/ J

  4. 4 l6 Y/ y$ W1 h  W$ W
  5. //or7 K& p7 C. y- g& `7 C4 {( [
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {
    ' N* K2 e; _) f$ t7 V
  7.     /*supported*/
    2 _/ l0 M$ J8 O4 P# l
  8. }
复制代码
- P. v, v9 y: o. ]8 n4 M7 O( A





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