什么是cookie?

Cookies虽然一般都以英文名呈现,但是它还是有一个可爱的中文名“小甜饼”。Cookies是指服务器暂存放在你的电脑里的txt格式的文本文件资料,主要用于网络服务器辨别电脑使用。比如浏览网站时,Cookies 记录下来你输入的一些资料和信息。再访问同一个网站,就会依据Cookie里的内容来判断使用者,送出特定的信息内容给你。

Cookies有什么作用?
首先,它在使用上更便捷,比如你之前在我们新浪微博上进行登陆过用户名。下次,再登陆时,系统就可以默认你的用户名甚至是密码,节省了你的时间。
第二,网站利用Cookies跟踪统计用户访问该网站的习惯,做出自己的服务调整。一方面是方便为用户提供个性化的服务,另一方面,也可以为网站经营策略带来创新,就如同不记名的问卷调查。
 
虽然,Cookies 最广泛的是记录用户登录信息,比如自动登陆,但是它也存在用户信息泄密的问题。另外,也有侵犯隐私的嫌疑,比如我们登陆淘宝后,再登陆其他有淘宝推荐广告的网站会直接出现我们在淘宝搜索过的信息。
 
如何设置Cookies?
由于cookies与用户隐私权的问题并没有相关法律约束,很多网站仍然在利用cookie跟踪用户行为,为此,小编在此特地为你提供限制cookie设置方法。
IE浏览器,菜单“工具-Internet选项-隐私”来查看和修改,通过“隐私”选项中的高低来决定是否允许网站利用cookie跟踪自己的信息,另外,也可以通过手动输入具体的网站设置允许或者禁止使用Cookies进行编辑。
 
说了这么多,该进入我们的主题:选项卡问题刷新后怎么保持原来的选项。
 
以下是是解决问题的代码:
 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选项卡</title>
<style>
*{
padding: 0;
margin: 0;
}
li{
list-style: none;
}
#wrap{
width: 400px;
height: 340px;
border: 1px solid black;
margin: 100px auto;
}
ul{
height: 34px;
border-bottom: 1px solid black;
line-height: 34px;
}
li{
float: left;
width: 132px;
height: 33px;
border-left: 1px solid black;
text-align: center;
cursor: pointer;
}
#box div{
text-align: center;
line-height: 100px;
}
.on{
background: pink;
}
</style>
<script>
window.onload=function(){
var oDox=document.getElementById("wrap");
var aLi=document.getElementsByTagName("li");
var aDiv=oDox.getElementsByTagName("div"); for(var i=0;i<aLi.length;i++){
aLi[i].index=i;
aLi[i].onclick=function(){
for(var i=0;i<aLi.length;i++){
aLi[i].className="";
aDiv[i].style.display="none";
setCookie("index",this.index,1)
}
this.className="on";
aDiv[this.index].style.display="block";
}
}
//判断是有cookie值
if(getCookie("index")){
for(var i=0;i<aLi.length;i++){
aLi[i].className='';
aDiv[i].style.display='none'
}
aLi[getCookie('index')].className='on';
aDiv[getCookie('index')].style.display='block';
}
///设置cookie
function setCookie(name,value,iDay){
if(iDay){
var oDate=new Date();
oDate.setDate(oDate.getDate()+iDay);
document.cookie=name+'='+value+';path=/;expires='+oDate;
}else{
document.cookie=name+'='+value+';path=/';
}
};
//获取cookie
function getCookie(name){
var arr=document.cookie.split("; ");
for(var i=0;i<arr.length;i++){
var arr1=arr[i].split("=");
if(arr1[0]==name){
return arr1[1];
} } return "";
}
}
</script>
</head>
<body>
<div id="wrap">
<ul>
<li class="on">tab1</li>
<li>tab2</li>
<li>tab3</li>
</ul>
<div>tab1</div>
<div>tab2</div>
<div>tab3</div>
</div>
</body>
</html>
希望能帮到大家。

怎么用cookie解决选项卡问题刷新后怎么保持原来的选项?的更多相关文章

  1. vue案例 - vuex+sessionstorage解决vue项目刷新后页面空白/数据丢失

    第一部分 SessionStorage 首先查看sessionStorage的地方在控制台的 Application > Storage > Session Storage这里: 根据se ...

  2. 基于cookie实现zTree树刷新后,展开状态不变

    1.除了引用jQuery和zTree的JS外,引用cookie的JS: <script type="text/javascript" src="~/Scripts/ ...

  3. 关于iOS11上MJRefresh tabview刷新后,重新加载另一组数据, 回不到顶部或者头尾显示混乱等问题解决

    MJRefresh在iOS11上存在很多bug 比如在iphoenx上首尾仍会显示的问题 刷新数据后tableview置顶不上去等问题 虽然官方给出了适配方案  但是问题还没有的到解决 比如tabvi ...

  4. vue 使用localStorage解决vuex在页面刷新后数据被清除的问题

    通常,我们在使用vue编写页面时,会需要使用vuex在组件间传递(或者说共同响应)同一个数据的变化.例如:用户的登录信息. 下面,我们使用传递用户登录信息的例子来一步步解决这个问题. 首先,我们的第一 ...

  5. 【vue】使用localStorage解决vuex在页面刷新后数据被清除的问题

    通常,我们在使用vue编写页面时,会需要使用vuex在组件间传递(或者说共同响应)同一个数据的变化.例如:用户的登录信息. 下面,我们使用传递用户登录信息的例子来一步步解决这个问题. 首先,我们的第一 ...

  6. Vuex 页面刷新后store保存的数据会丢失 取cookie值

    在store.js中 export default new vuex.Store({ // 首先声明一个状态 state state:{ pcid: '', postList: [], } //更新状 ...

  7. 使用sessionStorage解决vuex在页面刷新后数据被清除的问题

    https://www.jb51.net/article/138218.htm 1.原因 2.解决方法 localStorage没有时间期限,除非将它移除,sessionStorage即会话,当浏览器 ...

  8. 解决vuex数据页面刷新后初始化问题

    在vue项目的开发中经常会用到vuex来进行数据的存储,然而在开发过程中会出现刷新后页面的vuex的state数据初始化问题!下面是我用过的解决方法 利用storage缓存来实现vuex数据的刷新问题 ...

  9. Android list刷新后仍然定位到原来的位置,解决。

    问题: 有一个list,点击item时会做一些事情,然后重新加载数据,此时希望点击重新刷新后item还在原来的位置,而不是跳转到开头. 实现如下: 1.listview添加监听setOnScrollL ...

随机推荐

  1. Codeforces Round #464 (Div. 2) A. Love Triangle[判断是否存在三角恋]

    A. Love Triangle time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  2. JAVA基础之List接口

    个人理解: list接口是Collection接口的子类,其继承了Collection接口的所有方法,但也有其独有的方法,不过在迭代的时候不要进行任何操作.牢记数据存储的四种结构:堆栈.队列.数组.链 ...

  3. 打包python脚本为exe

    更新pip 安装

  4. 2016北京集训测试赛(十四)Problem A: 股神小L

    Solution 考虑怎么卖最赚钱: 肯定是只卖不买啊(笑) 虽然说上面的想法很扯淡, 但它确实能给我们提供一种思路, 我们能不买就不买; 要买的时候就买最便宜的. 我们用一个优先队列来维护股票的价格 ...

  5. hdu 4823 Energy Conversion 构造

    题目链接:HDU - 4823 魔法师百小度也有遇到难题的时候——现在,百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这种魔法文字需要耗费大量的能量和大量的脑力.过了许久,百小度终于读 ...

  6. 【spring】spring的事务传播性 hibernate/jpa等的事务隔离性

    spring的注解 @Trancational加在controller层,调用了service层的方法,service层的方法也加了@Trancational注解,这时候就出现了事务的嵌套,也就出现了 ...

  7. 快速乘法,幂计算 hdu5666

    在实际应用中为了防止数据爆出,在计算a*b%m和x^n%m时,可以采用此方法.在数论中有以下结论: a*b%m=((a%m)*(b*m))%m ; (a+b)%m=(a%m+b%m)%m ; _int ...

  8. #pragma预处理命令【转】

    原文 : http://www.cnblogs.com/qinfengxiaoyue/archive/2012/06/05/2535524.html #pragma可以说是C++中最复杂的预处理指令了 ...

  9. 2017.2.7 开涛shiro教程-第六章-Realm及相关对象(一)

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象 1.用户.角色.权限的关系 用户和角 ...

  10. [Python] SQLBuilder 演示样例代码

    用Python写一个SQLBuilder.Java版能够从 http://www.java2s.com/Code/Java/Database-SQL-JDBC/SQLBuilder.htm 看到. 附 ...