localstorge实现本地存储

Posted 阿柴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了localstorge实现本地存储相关的知识,希望对你有一定的参考价值。

这个是我个人生活中的一个小小的案例,由于我最近在找工作,投的简历多了,就很容易弄混淆,我就弄了这个个小东西。

最开始没有实现本地存储的功能的,只是当作一个闭包的案例,具体看这里,但是这样子,一刷新,就会消失不见了,所以我就加入了一个本地存储的功能

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <form>
        <input type="text" name="" id="text">
        <input type="submit" name="" value="添加" id="button">
    </form>
    <ol id="box">
    </ol>
    <script type="text/javascript">
    // 获取页面元素
     function GetId(id) {
        return document.getElementById(id)
    }
    var button = GetId("button")
    var text = GetId("text")

    function getLocalStorage (){
        var hasPay_ArrayList = localStorage.getItem("isPayLocal")==""||localStorage.getItem("isPayLocal")=="null"||localStorage.getItem("isPayLocal")==null?[]:localStorage.getItem("isPayLocal").split(","),
            value = text.value
            console.log(hasPay_ArrayList)
        if(hasPay_ArrayList.length){
            for (var i = hasPay_ArrayList.length - 1; i >= 0; i--) {
            var li = document.createElement(\'li\')
            li.innerHTML = hasPay_ArrayList[i] + \'<br>\'
            var box = GetId("box")
            box.appendChild(li)
            }
        }

    }
    getLocalStorage()
button.addEventListener(
\'click\', function(e) { e.preventDefault() // 获取浏览器本地localStorage,可能是null,可能是“” var hasPay_ArrayList = (localStorage.getItem("isPayLocal")==""||localStorage.getItem("isPayLocal")=="null"||localStorage.getItem("isPayLocal")==null)?[]:localStorage.getItem("isPayLocal").split(",") console.log(hasPay_ArrayList) console.log(localStorage.getItem("isPayLocal")) var value = text.value; var isLive = hasPay_ArrayList.indexOf(value)>=0?true:false; console.log(isLive) if (value && !isLive) { var li = document.createElement(\'li\') li.innerHTML = value + \'<br>\' var box = GetId("box") box.appendChild(li) text.value = \'\' var refreshLocalstorage = hasPay_ArrayList.push(value) localStorage.setItem("isPayLocal",hasPay_ArrayList) console.log(hasPay_ArrayList) console.log(localStorage.setItem("isPayLocal",hasPay_ArrayList)) } else if (value&&isLive) { alert("已经投递") }else{ alert("输入不能为空") } text.value=\'\' }) </script> </body> </html>

当然了,既然是完善功能,那么原来的功能也就是不能发生变化的,这个检查是否已经投递的功能还在,这个新增加的存储功能,也是非常的简单的,当然还是可以自己去改变,多多的添加一些新的功能,让这个例子更加的完善,但是我目前就做了这么些的东西。出具雏形,以后再慢慢的添砖加瓦吧

以上是关于localstorge实现本地存储的主要内容,如果未能解决你的问题,请参考以下文章

浅谈两种方法实现浏览器内多个标签页之间的通信

local storage

如何实现浏览器内多个标签页之间的通信?

vue项目实现登录携带token

vuex 和localstroage的区别

如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表