zoukankan      html  css  js  c++  java
  • web离线笔记本

    HTML5离线功能:

    离线资源缓存

    在线状态检测

    本地数据存储

    离线web比普通web多了一个描述文件,用来列出需要缓存和永不缓存的资源,以备离线时使用,描述文件扩展名为“.manifest"或".appcache",推荐使用后者。描述文件的mime-type类型为”text/cache-manifest“。

    main.html

    <html>
    <head>
    <meta charset="utf-8" />
    <title>notebook</title>
    <link rel="stylesheet" href="style.css" />
    </head>
    <body>
      <h2>
        write anytime--save anytime
      </h2>
      <div>
        <textarea id="content" cols="100" rows="20"></textarea>
      </div>
      <script src="main.js"></script>
      </body>
    </html>

    现在要把这个web应用离线化,只需将main.html和manifest描述文件关联起来即可

    <html manifest="./offline.appcache">

    在HTML标签上添加manifest属性后,浏览器会自动下载offline.appcache文件并解析,然后缓存文件中的指定资源。下次就可以离线打开这个页面。但是离线下做出的改动并没有保存,所以还需要做数据的本地存储

    main.js

    //获取记录内容的文本域
    var el = document.querySelector('#content');
    //为文本域dom节点添加blur事件
    el.addEventListener('blur', function () {
        //获取文本域内容
        var data = el.value;
        //如果是在线,直接保存到服务器
        if (navigator.onLine) {
            saveOnline(data);
        } else {
            //如果离线,则保存到本地
            localStorage.setItem('data', data);
        }
    });
    //监听上线事件
    window.online = function () {
        //从本地获取数据
        var data = localStorage.getItem('data');
        if (!!data) {
            //如果数据存在,保存到服务器
            saveOnline(data);
            //同时清空本地存储
            localStorage.removeItem('data');
        }
    };
    //保存内容的具体代码
    function saveOnline(data) {
        var xhr = new XMLHttpRequest();
        xhr.open('POST', '/savedata');
        xhr.send('data=' + data);
    }
  • 相关阅读:
    如何升级 sof_to_rbf.bat 文件
    用sopc-create-header-files工具产生头文件提示找不到命令
    HTTP状态码
    HTML5与CSS3知识点总结
    uni-app input 监听回车键 输入回车确定
    原生微信小程序转换uni-app
    关闭vscode保存就自动格式化的功能
    uni-appH5(uni.chooseFile uni.chooseImage)限制图片类型
    uni-appH5(uni.chooseFile uni.chooseImage)上传图片大小限制大小
    textRNN & textCNN
  • 原文地址:https://www.cnblogs.com/xxxsans/p/14380253.html
Copyright © 2011-2022 走看看