用HTML5 Web Storage作一个简易聊天室

前 言:

2个月前为了一个评论让我潜水(潜伏)博客园2年作了一次艰难的决定。注册了一个账号!

没事瞎逛博客园以及其他技术网站,发现一个不错的留言墙。就看了其中使用的技术。呀!惊呆了。居然是HTML5,完全没接触过呀!

再 言:

所以就搜了博客园相关文档,有如下信息:

@#$^%&*(

$&^^**(&(

http://zzk.cnblogs.com/s?t=b&w=html5%20Storage

#$%&^&*(

%*(&()*%$

资料太多了,你也不会细看的。

在HTML5中重新提供了一种在客户端本地保存数据的功能,它就是Web Storage功能。

Web Storage 分两种:sessionStorage 随着浏览器闭关而清除    localStorage 永久保存

想用体验了一下HTML5 Web Storage 作一个简易的聊天室,非常简单

直接看例子吧:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>html5 Storage</title>

<script type="text/javascript">
        function showTime(){
            var tDate = new Date();
            var tseconds = tDate.getSeconds();
            if (tseconds < 10)
                tseconds = ‘0‘ + tseconds;
            var timeStr = ‘  NowTime:  ‘+ tDate.getFullYear()+‘/‘+ (tDate.getMonth()+1)+‘/‘+ tDate.getDate()+‘ ‘+ tDate.getHours() + ‘:‘ + tDate.getMinutes() + ‘:‘ + tseconds;
            document.getElementById(‘time‘).innerHTML = timeStr;

             msg.innerHTML = ‘‘;
            var dom = ‘‘;
            for (var i = 0, len = localStorage.length; i < len; i++) {
                dom += ‘<div>‘ + localStorage.getItem(localStorage.key(i)) + ‘</div>‘
            }
            if(localStorage.length>20){
             localStorage.removeItem(localStorage.key(0));
            }
            msg.innerHTML = dom;
            setTimeout(showTime, 1000);
        }
 </script>
</head>
<body onload="showTime()">
<script type="text/javascript" src="http://counter.sina.com.cn/ip/" charset="gb2312"></script>
<h1>
Web Storage(简单聊天室) 实验</h1>
<div id="content">
    <div id="time">刷新</div>
</div>

<div id="msg" style="margin: 10px 1; border: 2px solid pink; padding: 10px; width: 540px;min-height: 200px;"></div>
内容
<input type="text" onkeydown="enterSumbit()" id="text" />

<!--<input type="text" id="kop" />
姓名-->

<button onclick="save();">
留言</button>

<button onclick="_clear();">
清空聊天记录</button>

<script type="text/javascript">
function enterSumbit(){
     var event=arguments.callee.caller.arguments[0]||window.event;//消除浏览器差异
     if (event.keyCode == 13){
        save();
     }
 }
 </script>
<script type="text/javascript">
    function save() {
        var msg = document.getElementById(‘msg‘);
        //kop = document.getElementById(‘kop‘);
        var text = document.getElementById(‘text‘).value;
        if(text ==""){
            text="我靠( ‵o′)凸 好像忘记说话了...";
        }else{
            text=text;
        }
        var str = "来自"+ ILData[2]+"(" +‘<font color=bule>‘+ ILData[0]+‘</font>‘+")" /**+ kop.value**/ +"说:" + ‘<font color=red>‘+ text + ‘</font>‘ ;
        var k = new Date().getTime();
        localStorage.setItem(k, str);
        init();
    }

    function init() {
         var txt1=document.getElementById("text");
         txt1.value="";
         txt1.focus();

        if(localStorage.length>20){
         localStorage.removeItem(localStorage.key(0));
        }
        msg.innerHTML = ‘‘;
        var dom = ‘‘;
        for (var i = 0, len = localStorage.length; i < len; i++) {
            //dom += ‘<div>‘ + localStorage.key(i) + ‘:‘ + localStorage.getItem(localStorage.key(i)) + ‘</div>‘
            dom += ‘<div>‘ + localStorage.getItem(localStorage.key(i)) + ‘</div>‘
        }
        msg.innerHTML = dom;
    }
    function _clear() {
    msg.innerHTML = ‘‘;
    localStorage.clear();
}
</script>
</body>
</html>

也可以体验下:使劲点击我吧(用新浪的sae弄了几个小应用,感谢感谢!)

没事瞎整的wp个人博客:唯爱品傲  也帮我践踏下吧。访问量比我薪水还少

后言:

反正也没人看。我就乱写一通了。老板还有后边盯着我看呢。

好担心被革职呀。

文采不好,没读过书!请勿见笑。勿喷!

有心关注下我的公众微信号:好友记    我也不知道为什么起了这个名字。

时间: 2024-11-05 11:32:20

用HTML5 Web Storage作一个简易聊天室的相关文章

vue + socket.io实现一个简易聊天室

vue + vuex + elementUi + socket.io实现一个简易的在线聊天室,提高自己在对vue系列在项目中应用的深度.因为学会一个库或者框架容易,但要结合项目使用一个库或框架就不是那么容易了.功能虽然不多,但还是有收获.设计和实现思路较为拙劣,恳请各位大大指正. 可以达到的需求 能查看在线用户列表 能发送和接受消息 使用到的框架和库 socket.io做为实时通讯基础 vuex/vue:客户端Ui层使用 Element-ui:客户端Ui组件 类文件关系图 服务端: 客户端: 服

HTML5 - websocket的应用 之 简易聊天室

需要知识点: 前端知识 jq操作dom nodejs socket.io 关于websocket api的知识点,见上篇章<HTML5-Websocket>. 聊天室思路/原理: A和B聊天: A发送消息到中间“聊天服务器”, 服务器发送消息给B B接收A的消息,实现第一次消息传输 B再给A回消息的原理同上三步骤 其中原始HTTP协议和H5新增Websocket协议不同的地方在于: “服务器发送消息给B”这里. HTTP协议中,服务器是基于“请求 到 响应”的一个模型的 .也就是说,服务器无法

Socket入门笔记 用TcpClient实现一个简易聊天室

效果 实现思路 使用TcpListener建一个服务器,接收所有客户端发送的消息,然后由服务器再发送到其他客户端 客户端使用TcpClient,发消息给服务器,接收服务器的消息,不和其他客户端直接交互 服务器端 接收客户端 开启一个线程,死循环去接收客户端.接收到之后放到一个集合里,保存起来,以便转发消息用.每个客户端都再开启一个线程,用于接收这个客户端发送的消息. 接收客户端的方法AcceptTcpClient()是阻塞方法,在程序退出释放资源时会引发异常,可以先使用Pending()方法先判

socket.io入门,简易聊天室

介绍 通常我们web使用的是http协议,但是 HTTP 协议有一个缺陷:通信只能由客户端发起. 所以我们需要一个可以由服务端主动发出的协议,即WebSocket. WebSocket是HTML5新增的一种通信协议,其特点是服务端可以主动向客户端推送信息,客户端也可以主动向服务端发送信息,是真正的双向平等对话,属于服务器推送技术的一种. Socket.IO 是一个基于 Node.js 的实时应用程序框架,在即时通讯.通知与消息推送,实时分析等场景中有较为广泛的应用. socket.io 包含两个

php_3_“简易聊天室 ”实现的关键技术 详解

                  PHP+MySQL实现Internet上一个简易聊天室的关键技术  系统目标: 聊天室使用数据库汇集每个人的发言,并可将数据库内的发言信息显示在页面,让每个用户都可以看到,具体功能如下: a.用户登录:用户发言时显示其登录名信息 b.用户发言:用户输入说的话 c.显示发言信息:用户浏览所有发言信息 设计思路: (1).建立聊天室数据库及相关数据表 (2).实现用户登录页面(login.php) (3).实现发言页面(speak.php) (4).实现发言显示页

HTML5 Web Storage

前言 本章主要内容是Web Storage与本地数据库,其中Web Storage 是对cookie的优化,本地数据库是HTML5新增的一个功能,使用它可以在客户端建立一个数据库 大大减轻服务器端的负担,加快访问数据速度. 学习本章需要掌握Web Storage基本概念,了解sessionStorage与localStorage的使用与差别 掌握本地数据库的使用 什么是WebStorage? 前面说过,webstorage是对cookie的优化而来,HTML4中使用cookie在客户端存储用户数

使用Html5下WebSocket搭建简易聊天室

一.Html5WebSocket介绍 WebSocket protocol 是HTML5一种新的协议(protocol).它是实现了浏览器与服务器全双工通信(full-duplex). 现在,很多网站为了实现即时通讯(real-time),所用的技术都是轮询(polling).轮询是在特定的的时间间隔(time interval)(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器.这种传统的HTTP request d的模式带来很明显的缺点 –

php+websocket搭建简易聊天室实践

1.前言 公司游戏里面有个简单的聊天室,了解了之后才知道是node+websocket做的,想想php也来做个简单的聊天室.于是搜集各种资料看文档.找实例自己也写了个简单的聊天室. http连接分为短连接和长连接.短连接一般可以用ajax实现,长连接就是websocket.短连接实现起来比较简单,但是太过于消耗资源.websocket高效不过兼容存在点问题.websocket是html5的资源 如果想要详细了解websocket长连接的原理请看https://www.zhihu.com/ques

Socket编程(简易聊天室客户端/服务器编写、CocoaAsyncSocket)

Socket编程(简易聊天室客户端/服务器编写.CocoaAsyncSocket) 一.Socket 1.1 Socket简介 Socket就是为网络服务提供的一种机制.网络通信其实就是Socket间的通信,通信的两端都是Socket,数据在两个Socket间通过IO传输. 在Web服务大行其道的今天,调用Web服务的代价是高昂的,尤其是仅仅是抓取少量数据的时候尤其如此.而使用Socket,可以只传送数据本身而不用进行XML封装,大大降低数据传输的开销.Socket允许使用长连接,允许应用程序运