原来一直以为只要设置javascript的document.cookie对象就能简单的在浏览器端设置和删除cookie值,网上很多文章也是这么教的,但是最近发现简单的设置javascript的document.cookie的值无法完全做到删除或更改cookie。偶然发现了一篇文章给出了正确的方法,这里贴出来。

使用JavaScript清理Cookie首先要找到该Cookie对应的Name对应的值,然后设置其为过期:
找到Cookie有下面方法:

function getCookie2(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null)
return unescape(arr[2]); return null;
}

找到后设置为过期,切记设置domain和path,只有这两个参数跟你要删除的参数完全一样才能把它删除掉。

function resetNfluent(){
alert("before=>"+document.cookie);
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie2('name');
var lanObj=document.getElementById('lanOption');
var lanSel=lanObj.value;
alert(lanSel);
if(lanSel=='en'){
alert('let\'s reset nFluent');
alert('cval=>'+cval);
if(cval!=null){
document.cookie="name="+cval+";domain=.example.com;expires="+exp.toGMTString()+";path=/";
}else{
document.cookie="name=;domain=.example.com;expires="+exp.toGMTString()+";path=/";
}
}else{
alert('Don\'t need reset nFluent');
}
alert("after=>"+document.cookie);
}

至于如何详细查看cookie的path和domain之类的东西,在firefox中可以根据以下步骤查看:
Tools->Option->Privacy->Show Cookie

原文地址

javascript删除Cookie的正确方法(转载)的更多相关文章

  1. Asp.Net中Response.Cookies.Remove 无法删除COOKIE的问题解决方法

    登陆功能经常需要使用Cookie来存储登陆信息,可是在开发过程中,经常发现cookie无法删除的问题.删除的代码无非就是找到Cookie并删除掉. 但是会发现 Response.Cookies.Rem ...

  2. Python的list循环遍历中,删除数据的正确方法

    在遍历list,删除符合条件的数据时,总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num_lis ...

  3. javascript删除cookie

    代码很简单 function deleteCookie (cookieName) { document.cookie = `${cookieName}=; expires=${new Date(0). ...

  4. python删除所有自定义变量方法--转载

    http://blog.sina.com.cn/s/blog_b2f983a50102yexs.html   当我们在pythonwin中创建多个变量后,通过dir()函数,可以看到所有已创建变量,这 ...

  5. iOS 中删除cookie的正确做法

    需求:删除 qq 登录的 cookie,保证下次打开 qq 登录页面不会默认登录 实现:      NSString *url =@"https://w.mail.qq.com/cgi-bi ...

  6. js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法

    //是否存在指定函数 function isExitsFunction(funcName) {    try {        if (typeof(eval(funcName)) == " ...

  7. Cookie介绍及JavaScript操作Cookie方法详解

    本文主要为大家简单介绍了以下Cookie的用途.运行机制,以及JavaScript操作Cookie的各种方法,总结的比较全面,希望能给大家带来帮助. 什么是 Cookie “cookie 是存储于访问 ...

  8. [转]Javascript removeChild()删除节点及删除子节点的方法(同样适用于jq)

    Javascript removeChild()删除节点及删除子节点的方法 这篇文章主要介绍了Javascript removeChild()删除节点及删除子节点的方法的相关资料,需要的朋友可以参考下 ...

  9. JavaScript BOM Cookie 的用法

    JavaScript Cookie Cookie是计算机上存储在小文本文件中的数据.当Web服务器将网页发送到浏览器时,连接将关闭,服务器将忘记用户的所有内容.发明Cookie是为了解决“如何记住用户 ...

随机推荐

  1. VS窗体换肤

    1.首先我们要下载一个皮肤 vs窗体皮肤下载官网:http://irisskin.software.informer.com/download/ 2.创建一个lib文件夹 把下载好的引用放到里面 3. ...

  2. html5 图片上传 预览

    <html><body><fieldset> <legend>测试</legend> <div class="form-gr ...

  3. ionic1 项目微信支付

    使用的插件参照地址:https://github.com/xu-li/cordova-plugin-wechat:(这里包含微信登录,微信分享和微信支付) 插件安装 cordova plugin ad ...

  4. Django. No changes detected when "makemigrations"

    在修改了models.py后,有些用户会喜欢用python manage.py makemigrations生成对应的py代码. 但有时执行python manage.py makemigration ...

  5. jQuery事件和JSON点语法

    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...

  6. pytest+allure+jenkins +python2.7

    pip install lxml==3.8.0 pip install pytest-allure-adaptor

  7. CSS样式----css样式表和选择器(图文详解)

    本文最初于2015-10-03发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 本文主要内容 CSS概述 CSS和HTML结合的三种方式:行内样 ...

  8. [CentOS7] [VMWARE] 增加磁盘空间后扩大逻辑分区

    Learn to rescan disk in Linux VM when its backed vdisk in vmware is extended. This method does not r ...

  9. fedora安装视频播放器

    添加RPMFusion仓库后才能安装VLC.Mplayer,其他库中没有 直接 sudo dnf install vlc sudo dnf install mplayer

  10. MySQL基础之 标准模式通配符

    MySQL标准魔兽通配符 作用:在搜索数据库中的数据时,SQL通配符可以替代一个或多个字符 注意:标准模式SQL通配符必须与LIKE运算符一起使用 1.%  通配符 作用:匹配一个或多个字符. 找出以 ...