随着互联网的发展,通信方面的技术也在不断进步,比如http协议,https协议,这两个都是只有客户端发起请求时服务端才会返回响应,这已经满足不了现在人的需求,所以Websocket就应运而生,简称ws协议,wss协议,支持客户端和服务端都发送消息,但是事情总不会那么完美,ws的兼容性是一个比较现实的问题,目前主流的浏览器,Chrome,Firefox,Opera,Safari,IE都已经支持,不过IE9及以下浏览器是不支持的,那怎么判断是否支持呢?
比较直观的方式是直接判断全局对象中是否包含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浏览器!")
}
--------------------------------------------------------------------------------------------------------------------
我开发的websocket项目中用如下语句:
if( !window.WebSocket) {
$("#connect").html("
<h1>Get a new Web Browser!</h1>
<p>
您的浏览器不支持Websocket通信协议!<br>
请使用Chrome或者Firefox浏览器!.
</p>
");
} else {
...
}