sessionStorage设置与调用,localStorage用法类似,只是需要设置清除ui

本文介绍了一个地区分站页面的设计与实现过程,重点展示了如何通过JavaScript为页面上的链接添加点击事件,以记录被点击的城市名称并将其存储在sessionStorage中。此外,还介绍了如何在返回上一页时读取存储的城市名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//1.把点击过的文字内容存储到“sessionStorage.lastname”变量内,并返回上一页使用第二步是使用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>地区分站</title>
<style type="text/css">
a{text-decoration:none;color:black;}
li{list-style:none;}
.clearfix:after{content: ".";display: block;height: 0;clear: both;overflow: hidden;visibility: hidden;}
.clearfix{zoom:1}
.region{margin-top:10px;border:1px solid #e0e1dc;}
.region h3{background:#eee;line-height:30px;padding-left:10px;position:relative;}
.region .item{padding:10px;line-height:28px;display:block;}
.region .item a{padding-left:15px;padding-right:15px;float:left;}
.region .item a:hover{text-decoration:none;background:#3480ce;color:#fff;}
.more_region{position:absolute;right:10px;line-height:28px;top:0;font-weight:normal;}
#container{width:1000px;margin:0 auto;margin-top:10px;border:1px solid #f4f4f4;padding:10px;}
.hot{border-bottom:2px solid #0274bd;padding-bottom:8px;}
.hot li{float:left;margin-right:10px;margin-bottom:10px;}
.hot li a{display:block;line-height:32px;padding-left:16px;padding-right:16px;background:#f4f4f4;}
.hot li a:hover{text-decoration:none;background:#0274bd;color:#fff;}
.city_list{padding-top:10px;}
.item{padding:10px 0;line-height:24px;overflow:hidden;border-bottom:1px dashed #ddd;}
.item dt{float:left;font-family:arial;font-weight:bold;font-size:18px;width:35px;padding-left:25px;color:#444;}
.item dd{margin:0 0 0 55px;padding-left:15px;border-left:1px dashed #b2b2b2;}
.item dd a{padding:1px 12px 1px 12px;white-space:nowrap;float:left;}
.item dd a:hover{text-decoration:none;background:#0274bd;color:#fff;}
#foot{width:1022px;margin:0 auto;text-align:center;margin-top:10px;line-height:24px;color:#666;border-top:2px solid #0274bd;
padding-top:10px;}
#foot a{color:#666;}
.return{position:relative;height:36px;padding:6px;width:1000px;margin:0 auto;text-align:left;font:bold 22px/42px "微软雅黑";color:#737372;}
.return a{position:absolute;right:10px;top:12px;height:36px;width:100px;text-align: center;display:block;background:#0274bd;color:#fff;line-height: 36px;font-size:12px;font-weight: bold;}
.return a:hover{text-decoration:none;background:#f39c11;color:#fff;}
</style>
<script>
function shijian(){//A链接绑定事件
//console.log("1");
var url = document.getElementsByClassName("clearfix");//获取CLASS的DOM元素数组
for(var i=0;i<url.length;i++){//循环数组
//console.log("2");
var sun_li = url[i].getElementsByTagName("li");//获取数组内的li元素数组
for(var j=0;j<sun_li.length;j++){//循环li数组
//console.log("3");
var objs = sun_li[j].childNodes;//得到每个li下的子元素
for(k in objs){//循环子元素
//console.log(objs[k].text);
objs[k].onclick=function(){
var adder = this.text;
sessionStorage.lastname=adder;
history.go(-1);
};
}
}
}
}
</script>
</head>
<body onload="shijian()">
<!-- 主体部分 -->
<div class="return">企业分站<a href="index.php">返回首页</a></div>
<div id="container">
<div class="hot">
<ul class="clearfix">
<li><a href="#" target="">北京</a></li>
<li><a href="#" target="">天津</a></li>
<li><a href="#" target="">沈阳</a></li>
<li><a href="#" target="">大连</a></li>
<li><a href="#" target="">哈尔滨</a></li>
<li><a href="#" target="">济南</a></li>
<li><a href="#" target="">青岛</a></li>
<li><a href="#" target="">南京</a></li>
<li><a href="#" target="">上海</a></li>
<li><a href="#" target="">杭州</a></li>
<li><a href="#" target="">武汉</a></li>
<li><a href="#" target="">广州</a></li>
<li><a href="#" target="">深圳</a></li>
<li><a href="#" target="">香港</a></li>
<li><a href="#" target="">澳门</a></li>
<li><a href="#" target="">重庆</a></li>
<li><a href="#" target="">成都</a></li>
<li><a href="#" target="">西安</a></li>
<li><a href="#" target="">石家庄</a></li>
<li><a href="#" target="">长春</a></li>
<li><a href="#" target="">呼和浩特</a></li>
<li><a href="#" target="">太原</a></li>
<li><a href="#" target="">郑州</a></li>
<li><a href="#" target="">合肥</a></li>
<li><a href="#" target="">无锡</a></li>
<li><a href="#" target="">苏州</a></li>
<li><a href="#" target="">宁波</a></li>
<li><a href="#" target="">福州</a></li>
<li><a href="#" target="">厦门</a></li>
<li><a href="#" target="">南昌</a></li>
<li><a href="#" target="">长沙</a></li>
<li><a href="#" target="">汕头</a></li>
<li><a href="#" target="">珠海</a></li>
<li><a href="#" target="">海口</a></li>
<li><a href="#" target="">三亚</a></li>
<li><a href="#" target="">南宁</a></li>
<li><a href="#" target="">贵阳</a></li>
<li><a href="#" target="">昆明</a></li>
<li><a href="#" target="">拉萨</a></li>
<li><a href="#" target="">兰州</a></li>
<li><a href="#" target="">西宁</a></li>
<li><a href="#" target="">银川</a></li>
<li><a href="#" target="">乌鲁木齐</a></li>
<li><a href="#" target="">唐山</a></li>
<li><a href="#" target="">秦皇岛</a></li>
<li><a href="#" target="">淄博</a></li>
<li><a href="#" target="">烟台</a></li>
<li><a href="#" target="">威海</a></li>
<li><a href="#" target="">徐州</a></li>
<li><a href="#" target="">连云港</a></li>
<li><a href="#" target="">南通</a></li>
<li><a href="#" target="">镇江</a></li>
<li><a href="#" target="">常州</a></li>
<li><a href="#" target="">嘉兴</a></li>
<li><a href="#" target="">金华</a></li>
<li><a href="#" target="">绍兴</a></li>
<li><a href="#" target="">台州</a></li>
<li><a href="#" target="">温州</a></li>
<li><a href="#" target="">泉州</a></li>
<li><a href="#" target="">东莞</a></li>
<li><a href="#" target="">惠州</a></li>
<li><a href="#" target="">佛山</a></li>
<li><a href="#" target="">中山</a></li>
<li><a href="#" target="">江门</a></li>
<li><a href="#" target="">湛江</a></li>
<li><a href="#" target="">北海</a></li>
<li><a href="#" target="">桂林</a></li>
<li><a href="#" target="">邯郸</a></li>
<li><a href="#" target="">鞍山</a></li>
<li><a href="#" target="">抚顺</a></li>
<li><a href="#" target="">吉林</a></li>
<li><a href="#" target="">齐齐哈尔</a></li>
<li><a href="#" target="">大庆</a></li>
<li><a href="#" target="">包头</a></li>
<li><a href="#" target="">大同</a></li>
<li><a href="#" target="">洛阳</a></li>
<li><a href="#" target="">潍坊</a></li>
<li><a href="#" target="">芜湖</a></li>
<li><a href="#" target="">扬州</a></li>
<li><a href="#" target="">湖州</a></li>
<li><a href="#" target="">舟山</a></li>
<li><a href="#" target="">漳州</a></li>
<li><a href="#" target="">株洲</a></li>
<li><a href="#" target="">潮州</a></li>
<li><a href="#" target="">柳州</a></li>
<li><a href="#" target="">承德</a></li>
<li><a href="#" target="">保定</a></li>
<li><a href="#" target="">丹东</a></li>
<li><a href="#" target="">开封</a></li>
<li><a href="#" target="">安阳</a></li>
<li><a href="#" target="">泰安</a></li>
<li><a href="#" target="">日照</a></li>
<li><a href="#" target="">蚌埠</a></li>
<li><a href="#" target="">黄山</a></li>
<li><a href="#" target="">泰州</a></li>
<li><a href="#" target="">莆田</a></li>
<li><a href="#" target="">南平</a></li>
<li><a href="#" target="">九江</a></li>
<li><a href="#" target="">宜昌</a></li>
<li><a href="#" target="">襄樊</a></li>
<li><a href="#" target="">岳阳</a></li>
<li><a href="#" target="">肇庆</a></li>
<li><a href="#" target="">乐山</a></li>
<li><a href="#" target="">绵阳</a></li>
<li><a href="#" target="">丽江</a></li>
<li><a href="#" target="">延安</a></li>
<li><a href="#" target="">咸阳</a></li>
<li><a href="#" target="">宝鸡</a></li>
</ul>
</div>
</div>
</body>

</html>


//2.使用,参数存在就输出,不存在就为空

<script>

typeof(sessionStorage.lastname) != "undefined"?document.write(sessionStorage.lastname):"";

</script>

<think>好的,用户了解Cookie、localStoragesessionStorage之间的区别及用法比较。首先,我需要从存储机制、生命周期、存储容量、服务器的交互、应用场景等方面进行比较。 首先,存储机制方面,Cookie是通过HTTP头在浏览器和服务器之间自动传输的,每个请求都会携带Cookie数据,这可能影响性能。而localStoragesessionStorage是纯客户端存储,不会自动发送到服务器,更高效。 接下来是生命周期。Cookie可以设置过期时间,没有设置的话默认是会话结束就失效。localStorage除非手动清除,否则永久保存。sessionStorage则在标签页关闭时自动清除,适合临时数据。 存储容量方面,Cookie通常只有4KB,而Web Storage(local和session)一般是5MB,能存更多数据。这点需要提到不同浏览器可能有差异,但大体是这样。 服务器的交互,Cookie每次请求都会携带,可能增加流量。Web Storage的数据只在客户端,不会自动传输,适合大量数据存储。 应用场景的话,Cookie适合会话管理、用户跟踪,比如登录状态。localStorage适合长期保存的数据,比如用户偏好。sessionStorage适合临时数据,比如表单分步填写。 还要注意安全性,Cookie容易被CSRF攻击,需要HttpOnly和Secure标志。Web Storage则容易受到XSS攻击,所以敏感数据要加密。 需要引用用户给的参考内容,比如引用1和2提到的存储容量,引用4中的应用场景例子,比如购物车和表单分页。同时要确保格式正确,行内公式用$...$,独立公式用$$...$$,不过这里可能用不上数学公式,但要注意中文回答和结构清晰。 最后生成相关问题,可能涉及使用场景、安全措施、存储限制等,确保问题相关且有助于用户深入理解。</think>### Cookie vs localStorage vs sessionStorage 区别及用法比较 #### 一、核心区别对比 | **特性** | **Cookie** | **localStorage** | **sessionStorage** | |------------------------|-------------------------------------|------------------------------|------------------------------| | **存储机制** | 通过HTTP头传输,自动携带在请求中[^4] | 纯客户端存储,无自动传输机制 | 纯客户端存储,无自动传输机制 | | **生命周期** | 可设置过期时间(默认会话级) | 永久存储(需手动删除) | 标签页关闭时自动清除 | | **存储容量** | 约4KB | 约5MB[^2] | 约5MB | | **服务器交互** | 每次请求自动携带 | 不参通信 | 不参通信[^3] | | **典型应用场景** | 用户登录状态验证[^4] | 长期本地数据(如用户偏好) | 临时会话数据(如表单分页) | #### 二、详细用法解析 1. **Cookie操作** ```javascript // 设置Cookie(需手动拼接参数) document.cookie = "username=John; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/"; // 读取Cookie console.log(document.cookie); // 输出所有Cookie字符串 // 删除Cookie(通过设置过期时间) document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; ``` 2. **Web Storage操作** ```javascript // localStorage操作 localStorage.setItem('theme', 'dark'); console.log(localStorage.getItem('theme')); // 输出: dark localStorage.removeItem('theme'); // sessionStorage操作 sessionStorage.setItem('formStep', '2'); console.log(sessionStorage.getItem('formStep')); // 输出: 2 sessionStorage.clear(); ``` #### 三、关键注意事项 1. **性能影响** Cookie会随着每个HTTP请求发送,可能增加带宽消耗(尤其在移动端),而Web Storage仅在需要时通过API调用数据[^1] 2. **安全建议** - Cookie应启用`HttpOnly`和`Secure`属性防止XSS攻击 - Web Storage避免存储敏感信息,需自行加密处理 3. **数据持久性** localStorage适合保存长期配置(如UI主题),sessionStorage适用于工作流程数据(如多步骤表单的临时存储)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值