WebSocket API是下一代客户端-服务器的异步通信方法.前面有三篇文章已经对WebSocket有了一些介绍,这里我总结了一下.我在使用WebSockets API过程中遇到的问题.

1.检测浏览器是否支持HTML5 WebSocket

  在使用HTML5 WebSocket API之前,首先需要确认浏览器的支持情况。如果浏览器不支持,我们可以提供一些替代信息,提示用户升级浏览器或者更换浏览器.下面的代码是检测浏览器支持情况的一种方法:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>检测浏览器对WebSocket是否支持</title>
  6. <script type="text/javascript">
  7. function loadDemo()
  8. {
  9. if (window.WebSocket) {
  10. document.getElementById("support").innerHTML = "您的浏览器支持多个websocket通信的实例";
  11. }
  12. else {
  13. document.getElementById("support").innerHTML = "您的浏览器不支持多个websocket通信的实例,建议使用火狐浏览器或者谷歌浏览器";
  14. }
  15. }
  16. </script>
  17. </head>
  18. <body onload="loadDemo();">
  19. <div id="support"></div>
  20. </body>
  21. </html>

这是在火狐浏览器下测试的结果:

aaarticlea/png;base64,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" alt="" />

注释:目前的测试中发现IE8浏览器和QQ浏览器不支持WebSocket.

2.还有一种检测浏览器是否支持HTML5 WebSockets的另一种方法是使用浏览器控制台(如Firebug或Chrome开发工具)。下图是在Google Chrome中和火狐浏览器中检测自身是否支持WebSockets(若不支持,window.WebSocket命令将返回“undefined“)。

aaarticlea/png;base64,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PpTXrvwfIFvW824t+rZttx5ly5Ql429J227RvHnzZs6cWVlZ+fLLL0+bNu2ll16yLAtaXJvFixc/+eSTuVwOvpQI05p0Afn0pi/rC0LoZz/72QsvvMAYS2/6svUOAISQZ5555sc//jHG+OtPnrYUZBwFYYvvE8rEBwiTOIyCOE0wkTHIxAew/MCYOPm5g0eaJUAYCwAmwUgSiCOInLTPCxnrEYCb5shIafoQAEACie8EsQPgQoCenjBm2+59VgxRICGBCCCQADIAcCG2AKKoXNcqitIISuQEEIMf2EHktwRpPAA3AunFEAOEpWkQkM7MAkiiKAgCL47jOI6lhOhrbcQ4jl944YVBgwYNHTq0f//+Q4YMGThwYP/+/V988cX0gPQyplf4T3iaGRnnjrYtl5deemn69OkNDQ2u67722mtTpkx5+eWX06hqHMenTp165plnXn/99f/JG5QNk3Iub6FQeOaZZ372s58tWLBg8+bNK1asWL58+Zo1a5YtW/bcc8/NmjVL07Q4jv8HP7OJ7zmlEZkoAIgAvCiyAKIkkq4VJiFsXL9pwpOPAPCJk8d3ueaODp16du58/YBB9zjuqcNH1/fs2e+G6/vfev092z5bB6AdPvTZqPETps7+0U03d+/WvcuW3aedNBibhABJElq/fvnZO7pd2e3GWzt1u/2t//79ow8/Nv3p57r1uOXnr73Qvctlt93Q6foe1z732m+QA/ljx4f3uuMnr73avsdNN3e//f25lb/6t5/c1KPzjT16bd18ACLdsQqTpk+8uvsNt/bss2zVxjTr94f/8tyij953HK986SQksUwklL25NoiiqKGhYdy4cf379x82bNiYMWMGDx78wAMPNDY2tk6tPl8JBBnfWNoQF8/zZs+ePWvWLN/3pZSc81dffXXq1Kkvvvii67pRFFFKn3766RkzZsDXWtppYLjNe7q6uvqpp576/ve/v2LFimXLlq1cuXLp0qU/+MEPnnnmmerq6vI5y32j7dPHpSip7zmtxnR8gMhz3J3b9t58w+3fnf0sgB/GahDxyVO/t37T0RggkYHnNUyeNPLjTz4LPNizfd+w++8Ozbrqk7tuuWvYu4s3Rom+4N237xv0sCogcBOQSRglACG4+acnjFy/eY8P0Fjf1PPW2xb+cWkEANIBaUAsjp04enP/MZ/tOl04cuL+G7u/9l//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ihULFizQdV3kYGpqamNjI1Xlfv36NTQ0UCV777332rRpExsb+7e//Q2AaZqGYWRlZd11113t27d/4oknVFWdPXv2b3/727i4uN/85jfx8fGTJk3SNM3v948bN65t27bt27en2mAYhqqqhYWFSUlJCQkJbdu2Xbt2LZVrv3793n777U6dOnXs2HHevHnuBk9Jov+LFy+mZADQNK2goGDBggUAgsFgampqfHx8mzZtVq9ezTkPBoP9+/fPycmJi4tr3779O++8Y5rmsWPHUlJS8vPzqSaJSnn48OHf//737dq1a9u2bW5urqIouq5rmjZ//vy77rqrW7duEydOpHt/+umnDx8+7Pf7V69eHRsbW1RUFAwGg8HgwIEDY2NjExMTP/vsMwAzZ85s06ZN69atExMT4+Pj6fHIGAsGg1lZWRs2bKDBF2pX9D8vLy8zM9OyLGpdwudCLdk0TdLf06dPjxo1ioRAPAZELwZO8DAA48aN27t3r7vQ+/TpQ/eYk5OjaZqiKLNnz77rrrvuvvvuLl26LF26FMBLL73UuXPnVq1axcbGtmvXbtKkSbquq6o6duzYtm3bdu/eXVEUksvi4uJ+/frV19dTSp5++ulPPvkEQENDQ1JSUtu2bWNjY7/88ku3Mrr3/KUyzcrKio2Nve+++5566inOuaqqR48eFV9fu3YtyUdZWVnXrl3vvvvuPn36tG7dOhAImKbJGEtKSoqLi0tISFizZg1VsEAgwBg7d+7ciBEjKGPD6lLYi9mzZwvLTjz8VFX9N909KS4tsnDhwsTExFatWt1zzz2dOnX63e9+t3PnTlVVMzIyqqurqakPHjy4oaHB5/P1799/8uTJAE6ePDl8+HBFURRFeffddx9//HEAYsoD9acyMzP9fr8oSzGbY/DgwfQAB2BZ1sCBA/fv328YxvHjx3v37r1r1y4A/fr1mzx5sqIoZWVlf/rTn8gmdz+06TG1atWq9957T9f1tLS0urq65cuXv/XWW5qmTZw4sby8nCpEeno6PXX79es3depUqrL9+/f//vvvASxdujQ+Pv6Pf/yj1+sVM2WHDx+en59vWVZZWVn37t0PHToEICsr65lnnoFjctPq0CeffHLfvn3r169/5JFH6AiA559/vqqqCoCqqg8++KDX66VWlJ6e7vF43JnPOad8Fm/Fw9ayLLopp6hjRAOgLCUr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" alt="" />aaarticlea/png;base64,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" alt="" />

3.今天无意中又写了一个判断浏览器是否支持websocket的方法

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>检测浏览器对WebSocket是否支持</title>
  6. <script type="text/javascript" src="js/jquery-2.1.1.js"></script>
  7. <script type="text/javascript">
  8. function Log(Text, MessageType) {
  9. if (MessageType == "OK")
  10. {
  11. Text = "<span style='color: green;'>" + Text + "</span>";//连接已建立
  12. }
  13. if (MessageType == "ERROR")
  14. {
  15. Text = "<span style='color: red;'>" + Text + "</span>";//远程连接中断
  16. }
  17. document.getElementById("support").innerHTML = document.getElementById("support").innerHTML + Text + "<br />";
  18. };
  19.  
  20. $(document).ready(function () {
  21. alert("哈哈,我执行了!");
  22. var WebSocketsExist = true;//WebSocketsExist存在
  23. try {
  24. var dummy = new WebSocket("ws://localhost:8989/test");
  25. }
  26. catch (ex) {
  27. try
  28. {
  29. webSocket = new MozWebSocket("ws://localhost:8989/test");
  30. }
  31. catch(ex)
  32. {
  33. WebSocketsExist = false;
  34. }
  35. }
  36.  
  37. if (WebSocketsExist) {
  38. Log("您的浏览器支持WebSocket. 您可以尝试连接到聊天服务器!", "OK");
  39.  
  40. } else {
  41. Log("您的浏览器不支持WebSocket。请选择其他的浏览器再尝试连接服务器。", "ERROR");
  42. }
  43. });
  44.  
  45. </script>
  46. </head>
  47. <body>
  48. <div id='support' ></div>
  49. </body>
  50. </html>

这个看起来比较高大上吧.

WebSocket API使用篇检测浏览器是否支持WebSocket(4)的更多相关文章

  1. js检测浏览器是否支持某属性

    以检测浏览器是否支持 input 标签的 required 属性为例: var isSupport = 'required' in document.createElement('input');

  2. 检测浏览器是否支持cookie方法

    cookie 摘自: http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html Cookie是什么? Cookie 是一小段文本信息 ...

  3. 检测浏览器是否支持某个css属性

    以浏览器是否支持translate3d 为例说明,当然现代浏览器已经支持该属性.如果浏览器实现了带有前缀的某个属性,比如说支持-webkit-transform,但是不支持直接写transform,可 ...

  4. HTML5 Canvas 代码检测浏览器是否支持

    在创建HTML5 Canvas元素之前,首先要检测浏览器是否能够拿支持他,如果不支持,就要用文字或图片替代,检测代码如下所示. <!DOCTYPE html> <html> & ...

  5. 检测浏览器是否支持AJAX

    <script type="text/javascript"> function ajaxFunction() { var xmlHttp; try { // Fire ...

  6. 检测浏览器是否支持cookie功能

    <script> if(navigator.cookieEnabled) { document.write("你的浏览器支持cookie功能!"); } else{ d ...

  7. 检测浏览器是否支持range

    昨天的滑块建立在Input range这个基础上  这是IOS5.0及以后才支持的,而且在android2.3以下表现也不对 昨天的检测方式 var input = document.createEl ...

  8. 移动Web开发,4行代码检测浏览器是否支持position:fixed

    不废话,直接上代码 var div = document.createElement('div'); div.style.cssText = 'display:none;position:fixed; ...

  9. 检测浏览器是否支持ES6

    这是阮一峰老师写的一个工具 ES-Checker,用来检查各种运行环境对 ES6 的支持情况.访问ruanyf.github.io/es-checker,可以看到您的浏览器支持 ES6 的程度.运行下 ...

随机推荐

  1. pyqt5--学习资料

    http://zetcode.com/gui/pyqt5/ http://www.thehackeruniversity.com/2014/01/23/pyqt5-beginner-tutorial/ ...

  2. C#截取两个字符串间的字符串问题

    string s = "我爱北京天安门和长城"; string s1 = "北京"; string s2 = "和"; int i = s. ...

  3. js 节点

    var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode;  //得到s的父节点 var ns=s.nextSbiling;  //获得s的下 ...

  4. python基础,导入模块,if语句,while语句

    python基础 python代码 变为字节码 变为机器码 最后执行执行‘文件名.py’文件时出现的‘文件名.pyc’文件为字节码 缓存机制 使用pycharm的时候在文件最开始添加下面这两行代码,中 ...

  5. centos7上部署新版 jumpserver 跳板机服务

    CentOS 7 建议在一个纯净的 centos7上进行下面的安装部署 关闭 selinux 和防火墙 [root@jumpserver ~]# setenforce 0 [root@jumpserv ...

  6. shell重温---基础篇(shell数组&数组操作)

    上篇博客已经分析重温了shell的运行方式以及其中的变量还有字符串,之后按照套路就是数组方面了,废话不多说,直接进入正题哈.(小白笔记,各位看官勿喷...)     bash shell呢,支持一位数 ...

  7. 反向代理服务器——nginx

    一.概述 先来看百度百科的介绍: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强 ...

  8. docker学习(三) 安装docker的web可视化管理工具

    1.docker是一个一款很轻便的应用容器引擎,为了更好的管理和使用docker,使用web可视化管理工具似乎更符合大多数人的需求.在这里,我给大家分享下自己使用过的几款web工具:docker UI ...

  9. python 快速搭建文件服务器

    以http方式共享当前文件夹的文件 可实现跨平台文件传输 只需要一句话搞定 #python -m SimpleHTTPServer 8001 浏览器中输入 http://ip:8001  显示所有文件 ...

  10. BeyondCompare3 提示许可证密钥已被撤销解决方法

    今天对比文件提示 许可证密钥已被撤销:3281-0350! 找过了几个注册码还是不行. 正确简单的解决方法: 1.找到 BCState.xml 文件 ​ 2.编辑器打开,删除<TCheckFor ...