什么是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. BitMap与RoaringBitmap、JavaEWAH

    本文主要介绍BitMap的算法思想,以及开源工具类JavaEWAH.RoaringBitmap的简单用法. 一.BitMap 介绍 BitMap使用bit位,来标记元素对应的Value.该算法能够节省 ...

  2. fetch API 简单解读

    http://f2e.souche.com/blog/fetch-api-jie-du/?utm_source=tuicool&utm_medium=referral 在我们日常的前端开发中, ...

  3. linux基础学习6

    daemon 可以理解成为service   两大类: stand_alone:此 daemon 可以自行单独启动服务,加载到内存后就一直占用内存与系统资源:如 www的httpd ,ftp的vsft ...

  4. django如何用邮箱代替用户名登录

    有两种方法 方法一,修改username字段,让他跟email字段一模一样,然后把email放到username,email字段里面,username放到firstname或者lastname里面,这 ...

  5. RR调度(Round-robin scheduling)简单介绍

    在RR调度策略下,一个线程会一直运行.直到: 自愿放弃控制权 被更高优先级的线程抢占 时间片用完 例如以下图所看到的,A在用完自己的时间片后,将CPU运行权让给线程B.于是A离开Read队列,而B进入 ...

  6. windows的iis做后门,隐藏访问,无日志

    windows下的iis5/iis6做后门,隐藏访问,不留访问记录或者不留日志 好不容易攻下一台Windows2000/2003 IIS服务器,你一定会想,怎样才能长期占有这个“肉鸡”呢?聪明的你肯定 ...

  7. /etc/shadow 密码加密方法

    [root@mysql-master ~]# cat /etc/shadowroot:$6$spzQDWctb8Lmju0o$KoUz5Qwv1tWyVYfd5cuBw.TQVIaCvCX8ixGG9 ...

  8. Redhat Crash Utility-Ramdump

    Redhat Crash Utility edit by liaoye@2014/9/16 http://blog.csdn.net/paul_liao Crash utility是redhat提供的 ...

  9. 如何在vs2010中添加Picture控件

    1.新建项目,并在对话框控件中拖入picture控件,并做如下设置 2.在picture控件的属性栏需要进行如下修改:ID需要修改,不能为static ID是控件的唯一标识,PictureCtrl(p ...

  10. linux下编译ffmpeg 引入外部库x264

    Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, configure ...