cncml手绘网

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

作者: admin    时间: 2018-6-29 14:51
标题: 判断浏览器是否支持Websocket
Web Sockets 目前在各个浏览器到终端支持性并不好, 只有IE 10+, FF 34+, Chrome 31+, Safari 7.1+, Android Browser 4.4+ 才得到支持。6 u5 R/ Z& G- ]6 T6 H' u6 [

' M- {9 Z; o& T; X  D9 x. W通过何种方式检测?

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

  1. $(document).ready(function() {/ H( |/ l4 k. k+ v! ?, D- ~% l% C# `! D
  2.   if( typeof(WebSocket) != "function" ) {
    6 c0 F4 B/ W' d1 i0 S  x! k- h  i
  3.     $('body').html("<h1>Error</h1><p>Your browser does not support HTML5 Web Sockets. Try Google Chrome instead.</p>");, a0 S1 c' c" z: F
  4.   }
    - m9 I+ Y& X& V. t
  5. })$ B' g# x. T6 G6 P! K, A
复制代码

0 [5 {. @1 T! {0 o' O  W7 N$ C

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

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

所以比较严谨的方式是:

  1. if (typeof WebSocket != 'undefined') {" l3 |4 C; H  Q0 g: `: r9 A
  2.     /*supported*/
    : X4 Y# r, J" e
  3. }& r9 y, k7 x, I
  4. ' r4 K# ~" ~; u( m; B3 U
  5. //or5 G. G6 u2 Q7 v9 C1 R& w$ i
  6. if (!!window.WebSocket && window.WebSocket.prototype.send) {
    * I/ r& P; c/ u# p4 M) |  o3 A
  7.     /*supported*/
    3 x- N7 L  q( U& Y1 \
  8. }
复制代码
2 m, A! c5 n' b9 s3 m% H





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