只用js 实现的简约聊天框
2016-06-06 15:21
344 查看
之前看到别人的网页打开后都有个聊天框,可以与同时在网上的网友聊点简单话题,于是便找了个最简单的方法
使用js,客户端 打开页面,不断的给服务器发送请求来得到 新的消息
用JavaScript实现的轮询的优点和缺点:
1. 优点:很容易实现,不需要任何服务器端的特定功能,且在所有的浏览器上都能工作。
2. 缺点:这种方法很少被用到,因为它是完全不具伸缩性的。试想一下,在100个客户端每个都发出2秒钟的轮询请求的情况下,所损失的带宽和资源数量,在这种情况下30%的请求没有返回数据。
代码实现:页面使用了 Uediter 编辑器,后台存储最新消息,获取最新消息
rootroom.js
使用js,客户端 打开页面,不断的给服务器发送请求来得到 新的消息
用JavaScript实现的轮询的优点和缺点:
1. 优点:很容易实现,不需要任何服务器端的特定功能,且在所有的浏览器上都能工作。
2. 缺点:这种方法很少被用到,因为它是完全不具伸缩性的。试想一下,在100个客户端每个都发出2秒钟的轮询请求的情况下,所损失的带宽和资源数量,在这种情况下30%的请求没有返回数据。
代码实现:页面使用了 Uediter 编辑器,后台存储最新消息,获取最新消息
rootroom.js
var login = true; //发送请求函数 function sendRequest() { if (ueditor.hasContents()) { ueditor.sync(); $("#chatMsg").val(ueditor.getContent()); } //input是个全局变量,就是用户输入聊天信息的单行文本框 var chatMsg = $("#chatMsg").val(); var datas="chatMsg=" + chatMsg; $.ajax({ type: "post", url: "/chat", data: datas, datatype: "text", success:function(data){ if(data=="nologin") { login=false; alert("您还没有登录,请先登录"); window.location.href="/index.jsp"; } else { login=true; //使用chatArea多行文本域显示服务器响应的文本 $("#chatArea").html(data); } //清空输入框的内容 $("#chatMsg").val(""); ueditor.setContent(""); } }); } function sendEmptyRequest() { var datas=""; $.ajax({ type: "post", url: "/chat", data: datas, datatype: "text", success:function(data){ if(data=="nologin") { login=false; alert("您还没有登录,请先登录"); window.location.href="/index.jsp"; } else { login=true; //使用chatArea多行文本域显示服务器响应的文本 $("#chatArea").html(data); } } }); //指定0.8s之后再次发送请求 if(login==true) { setTimeout("sendEmptyRequest()" , 800); } } function enterHandler(event) { //获取用户单击键盘的“键值” var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; //如果是回车键 if (keyCode == 13) { sendRequest(); } }
相关文章推荐
- JavaScript强化教程-表单验证
- javaScript学习笔记---入门
- 在线编辑网页jsbin
- JavaScript学习9张思维导图
- js中window.parent和window.opener,window.self、window.top用法
- 使用 JavaScript 实现简单候选项推荐功能(模糊搜索)【收藏】【转】
- jsp 图片限制大小
- JavaScript sort数组排序方法和自我实现排序方法小结
- js中的 "use strict" 做了什么?使用严格模式有什么优点
- js中删除数组元素的几种方法
- 4种json解析技术对比
- 基于JS实现数字+字母+中文的混合排序方法
- fastjson
- JavaScript 函数
- 传入json格式的参数
- JavaScript 运行机制详解:深入理解Event Loop
- 一个js实例
- json数组排序
- JS正则表达式验证数字非常全
- JavaScript:使用Canvas绘图