zoukankan      html  css  js  c++  java
  • HTML5离线存储和本地缓存

    一.离线存储

       有一个web应用有三个文件index.html,a.js,b.css,现在需要把js和css文件缓存起来

       1.在index.html里加上<html manifest="test.manifest">

       2.manifest清单格式如下

    复制代码
    CACHE MANIFEST
    #上面一句必须
    #v1.0.0
    #需要缓存的文件
    CACHE:
    a.js
    b.css
    #不需要缓存的文件
    NETWORK:
    *
    #无法访问页面
    FALLBACK:
    404.html
    复制代码

       3.manifest文件的mime-type必须是 text/cache-manifest类型

       注意点:

         1.对于每个index.html?id=1或index.html?id=2都会分别缓存index.html页面,可以通过chrome浏览器Resources/Application Cache观察

         2.如果想更新缓存内容,只要修改下manifest文件即可,如改版本号v1.0.1

     4.离线存储如果资源有更新,可以通过如下代码来监听,但第一次加载还会是原来的版本

    复制代码
    window.applicationCache.addEventListener('updateready',function(e){
        if(window.applicationCache.status == window.applicationCache.UPDATEREADY){
            window.applicationCache.swapCache();
            
            if(confirm("loding new?")){
                window.location.reload()
            }
        }
    },false)    
    复制代码

    二.本地缓存

    复制代码
    localStorage.setItem("key","value")
    
    localStorage.getItem("key","value")
    
    localStorage.removeItem("key")
    
    localStorage.clear()
    复制代码

        1.本地存储永不过期,除非自己去清除

        2.可以通过chrome浏览器Resources/Local Storage来查看

        3.不同域下就算key相同取不到的值也不同,如localhost和127.0.0.1

  • 相关阅读:
    C# Linq 类似Scala中的map的函数
    Spark DataFrame NOT IN实现方法
    Scala scopt 命令行解析
    WPF 绑定到静态属性,可通知
    WPF GroupBox Header居中
    WPF开源项目整理(排名不分先后)
    Windows 上配置 Go 的 gRPC 编译环境
    C++20新线程 jthread 体验代码
    查找被删除但仍然占据磁盘的文件
    以Docker方式安装Redis集群
  • 原文地址:https://www.cnblogs.com/xyw521520/p/5365769.html
Copyright © 2011-2022 走看看