H5的本地存储(localStorage)和会话(sessionStorage)还有cookie的使用与注意事项

目录

本地存储使用的时候注意:

js代码如下:

 cookie使用的时候注意:

open in browser与open with live server的区别:

最后是总代码如下:


本地存储使用的时候注意:

js代码如下:

        // 本地存储的使用
        localStorage.setItem('age','18');
            localStorage.setItem('name','suntex');
            var name = document.getElementById('name');
            //清楚全部本地存储
            //localStorage.clear();
            // 清除key为name的本地存储
            //localStorage.removeItem('name');
            name.value = localStorage.getItem('name');
 

因为用var定义input标签的DOM为name.导致了无法讲本地存储的key值为name和value值为suntex放入input标签内。。结果如下

 但是用let或者const定义name就可以

        // 本地存储的使用
        localStorage.setItem('age','18');
            localStorage.setItem('name','suntex');
            const name = document.getElementById('name');
            //清楚全部本地存储
            //localStorage.clear();
            // 清除key为name的本地存储
            //localStorage.removeItem('name');
            name.value = localStorage.getItem('name');
 

结果如下:

 cookie使用的时候注意:

 通过这种方式打开,不然的话浏览器F12之后cookie是没有东西的.

即网页必须通过url和端口方式打开才会有cookie。

open in browser与open with live server的区别:

        open in browser:url显示的是电脑存储的默认路径,访问的是项目保存的电脑地址,会存在图片加载不出来问题。同时访问的页面是静态页面,也就是,在写代码的同时,在工作区保存了代码之后,还需要另外到浏览器页面进行刷新才能看到最新的效果,在开发时较麻烦。

open with live server:url是以127.0.0.1开头,即使用web服务器打开,可以解决掉前面图片不显示的问题。(5500是端口号)在这里访问的是动态直播页面,也就是在写代码时,只需要在工作区进行保存,浏览器端的页面就会同时进行更新显示效果

   //cookie的使用,特别注意的是cookie使用的时候必须
            document.cookie ="name = baobo";
            document.cookie = 'key = 123';
           
            //设置cookie的其时间戳
            var oDate = new Date();
            oDate.setDate(oDate.getDate()+3);
            console.log("name=my;expires="+oDate);
            document.cookie = "name=your; expires=" +oDate;
            console.log(document.cookie);

时间戳的效果如下:

 

最后是总代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5数据存储</title>
</head>

<body>
    <input id="name" type="text" value="111"/>
    <input id="button" type="button" value="提交" onclick="load()"/>
    <script>
        // 本地存储的使用
        localStorage.setItem('age','18');
            localStorage.setItem('name','suntex');
            const name = document.getElementById('name');
            //清楚全部本地存储
            //localStorage.clear();
            // 清除key为name的本地存储
            //localStorage.removeItem('name');
            name.value = localStorage.getItem('name');
 


            //session的使用
            sessionStorage.setItem('sex',"男");
            //session是只在会话期间存在。而本地存储是即使会话关闭,只要你不去手动清除或者系统清除,他就不会清除。
            // 而session是浏览器关闭的时候,浏览器自己关闭的。或者是服务器关闭的。


            //cookie的使用,特别注意的是cookie使用的时候必须
            document.cookie ="name = baobo";
            document.cookie = 'key = 123';
           
            //设置cookie的其时间戳
            var oDate = new Date();
            oDate.setDate(oDate.getDate()+3);
            console.log("name=my;expires="+oDate);
            document.cookie = "name=your; expires=" +oDate;
            console.log(document.cookie);


    </script>
</body>
</html>

localStoragesessionStoragecookie都是用于在浏览器端存储数据的方式,但是它们的使用场景和区别是不同的。 1. localStorage localStorage 是 HTML5 提供的一种本地存储的方式,它可以将数据存储在客户端的浏览器中,数据不会随着页面的刷新或关闭而丢失,除非主动删除或者浏览器清理缓存。localStorage 常用于存储用户的个人偏好设置、购物车等数据。 2. sessionStorage sessionStorage 也是 HTML5 提供的一种本地存储的方式,与 localStorage 不同的是,sessionStorage 数据只在当前会话中有效,会话结束后数据就会被清除。会话结束指的是浏览器关闭或者标签页关闭。sessionStorage 常用于在一个页面中传递数据。 3. cookie cookie 是一种在客户端存储数据的方式,它可以将数据存储在客户端的浏览器中,数据不会随着页面的刷新或关闭而丢失,除非过期或者主动删除。cookie 常用于存储用户的登录信息、购物车等数据。 区别: 1. 存储大小:localStoragesessionStorage 的存储大小一般为 5MB,cookie 的存储大小为 4KB。 2. 有效期限:localStoragesessionStorage 的有效期限为永久和会话期间,cookie 的有效期限可以设置。 3. 存储位置:localStoragesessionStorage 的数据存储在浏览器的本地内存中,cookie 的数据存储在浏览器的文件系统中。 4. 安全性:localStoragesessionStorage 的数据存储在浏览器的本地内存中,比 cookie 更加安全,cookie 可能会被其他网站攻击者获取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值