判断浏览器是否支持Websocket

随着互联网的发展,通信方面的技术也在不断进步,比如http协议,https协议,这两个都是只有客户端发起请求时服务端才会返回响应,这已经满足不了现在人的需求,所以Websocket就应运而生,简称ws协议,wss协议,支持客户端和服务端都发送消息,但是事情总不会那么完美,ws的兼容性是一个比较现实的问题,目前主流的浏览器,Chrome,Firefox,Opera,Safari,IE都已经支持,不过IE9及以下浏览器是不支持的,那怎么判断是否支持呢?

点击这里查看Websocket的浏览器支持情况

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

if( typeof(WebSocket) != "function" ) {
    alert("您的浏览器不支持Websocket通信协议,请更换浏览器为Chrome或者Firefox再次使用!")
  }

但是这种方式不严谨,在 Android 中,即使浏览器不支持 WebSocket ,但是它还是存在这个属性。
所以可以使用下面的方法:

if (typeof WebSocket != 'undefined') {
    console.log("您的浏览器支持Websocket通信协议")
}else{
	alert("您的浏览器不支持Websocket通信协议,请使用Chrome或者Firefox浏览器!")
}

或者是这种方法:

if (!!window.WebSocket && window.WebSocket.prototype.send) {
     console.log("您的浏览器支持Websocket通信协议")
}else{
	alert("您的浏览器不支持Websocket通信协议,请使用Chrome或者Firefox浏览器!")
}

你可能感兴趣的:(js)