HTML5新特性基础学习笔记下

6.Web储存

客户端储存数据
1.两种方式
    1):localStorage - 没有时间限制的数据存储
    2):sessionStorage - 针对一个session的存储数据
2.和cookie做对比
    之前,这些都是由cookie完成的.但是cookie不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得cookie速度很慢而且效率也不高


localStorage
1.存储特点:
    localStorage方法存储的数据没有时间限制.第二天,第二周或者下一年之后,依然可用

<textarea style="width:200px; height: 200px" id="ta"></textarea>
    <button id="btn">保存</button>
var ta;
var btn;
window.onload = function () {
    ta = document.getElementById("ta");
    if(localStorage.text1){
        ta.value = localStorage.text1;
    }

    btn = document.getElementById("btn");
    btn.onclick = function () {
        localStorage.text1 = ta.value;
    }
}
sessionStorage
1.存储特点
    sessionStorage方法针对一个session进行数据存储.当用户关闭浏览器窗口后,数据会被删除.

<span id="txt">0</span>
<button id="addbtn">add</button>
var num = 0;
var txt;
var btn;

window.onload = function () {
    txt = document.getElementById("txt");
    btn = document.getElementById("addbtn");
    if(sessionStorage.num){
         num = sessionStorage.num;
        showNum();
    }
    btn.onclick = function () {
        num ++ ;
        sessionStorage.num = num;
        showNum();
    }
}

function showNum(){
    txt.innerHTML = num;
}

7.应用缓存与Web Workers

应用缓存
1.什么是应用程序缓存:
    HTML引入了应用程序缓存,这意味着web应用可进行缓存,并可在没有因特网连接时进行访问
2.应用缓存的优势:
    1):离线浏览 - 用户可在应用离线时使用它们
    2):速度 - 已缓存资源加载得很快
    3):减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源
3.实现缓存:
    如需启用应用程序缓存,请在文档的<html>标签中包含manifest属性
    manifest文件的建议的文件扩展名是:".appcache";
4.Manifest文件:
    1):CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存
    2):NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存
    3):FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(如404)

<html manifest="index.appcache">
    <script src="js.js"></script>
    <link type="text/css" rel="stylesheet" href="style.css">
</head>
<body>
    <h1 class="h1">Hello HTML5!</h1>
</body>
index.appcache:
CACHE MANIFEST

CACHE:
index.html
js.js

NETWORK:
style.css
Web Workers
1.什么是Web Worker?
    web worker 是运行在后台的JavaScript,独立于其他脚本,不会影响页面的性能
2.方法:
    postMessage() - 它用于向HTML页面传回一段消息
    terminate() - 终止web worker,并释放浏览器/计算机资源
3.事件:
    onmessage
<div id="numDiv">0</div><br>
<button id="start">开</button>
<button id="stop">关</button>
var numDiv;
var work;

window.onload = function () {
    numDiv = document.getElementById("numDiv");
    document.getElementById("start").onclick = startWorker;
    document.getElementById("stop").onclick = function () {
        if(work){
            work.terminate();
            work = null;
        }
    }
}

function startWorker() {
    if(work){
        return;
    }
    work = new Worker("count.js");

    work.postMessage(numDiv.innerText);//获取DIV的内容
    work.onmessage = function (e) {
        numDiv.innerHTML = e.data;
    }
}
count.js:
var countNum;

function count() {
    onmessage = function (e) {
        countNum = e.data;
        count2();

    }
}

function count2(){
    postMessage(countNum);
    countNum++;
    setTimeout(count2, 1000);
}

count();

8.服务器推送事件

HTML5服务器推送事件介绍
1.HTML5服务器推送事件介绍:
    服务器推送事件(Server-sent Events)是HTML5规范中的一个组成部分,可以用来从服务端时时推送数据到浏览器端
2.传统的服务端推送数据技术:
    WebSocket:WebSocket规范是HTML5中一个重要组成部分,已经被很多主流浏览器所支持,也有不少基于WebSocket开发的应用.正如名称所表示的一样,WebSocket所用的套接字连接,基于TCP协议.使用WebSocket之后,实际上在服务器端和浏览器之间建立一个套接字连接,可以进行双向的数据传输.WebSocket的功能是很强大的,使用起来也灵活,可以适用于不同的场景.不过WebSocket技术也比较复杂,包括服务器端和浏览器端的实现都不同于一般的Web应用.

    HTTP协议:简易轮询,即浏览器端定时向服务器端发出请求,来查询是否有数据更新.这种做法简单,可以在一定程度上解决问题.不过对于轮训的时间间隔需要进行仔细考虑.轮训的间隔过长,会导致用户不能几十接收到更新的数据;轮询的建个过短,会导致查询请求过多,增加服务器的负担


HTML5服务器推送事件实现
1.杜武器带码头:
    header('Content-Type:text/event-stream');
2.EventSource事件:
    onopen              服务器的链接被打开
    onmessage           接收消息
    onerror             错误发生

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了python应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值