精华内容
下载资源
问答
  • 本人手机页面是新手,要实现一个功能,当前页有个链接,点进去后会弹出一个信息录入页面,输入完信息后关闭...在好多手机浏览器关闭不了,通过cookie保存的值直接在QQ手机浏览器用不了,请问该如何解决?寻求JS解决方法
  • 做的一个ssh项目,其中需要使用cookie来辅助记录用户页面访问量。...可是我在使用的时候出现问题,就是我设置了有效期,但是关闭浏览器后或者重新打开另一个浏览器均不能获取到设置的cookie。设置cookiecoo...

    做的一个ssh项目,其中需要使用cookie来辅助记录用户页面访问量。可是我在使用的时候出现问题,就是我设置了有效期,但是关闭浏览器后或者重新打开另一个浏览器均不能获取到设置的coo...

    做的一个ssh项目,其中需要使用cookie来辅助记录用户页面访问量。可是我在使用的时候出现问题,就是我设置了有效期,但是关闭浏览器后或者重新打开另一个浏览器均不能获取到设置的cookie。

    设置cookie

    cookie.setValue(value+";"+Context.VISIT_TYPE_USER+"="+hostid);

    cookie.setMaxAge(60*60*2);

    response.addCookie(cookie);

    读取

    Cookie cookies[]=request.getCookies();

    if(cookies!=null){

    //存在cookie

    for(int i=0;i

    System.out.println(cookies[i].getName()+"="+cookies[i].getValue());

    if(cookies[i].getName().equals(vid+"visit")){

    flag=true;

    n=i;

    }

    }

    第一次访问的时候没有任何的cookie,然后我就写入一个cookie,那么在这个浏览器的进程内这个cookie都是可读写的,但是其有效期仅仅是此浏览器进程,关闭后就读不到cookie了,倒是是怎么回事呢?

    一楼的那是更新cookie的不是新建cookie的。上边的那个cookie是从request中获取的一直name为id+"visit"的Cookie,然后对它的值进行改变。然后读取不到这个Cookie,则新建一个Cookie,但是问题来了,新建的Cookie只能存活在浏览器进程内.刚才试了一下,新建了一个Cookie,但是还是不行,关闭浏览器就没了

    -----在不关浏览器的时候是能获取Cookie的,但是一退出就没了,试了几个浏览器都这样

    huhl1984

    response.addCookie(cookie); 不是写在了客户端吗?

    wufisher,我没设置过这个,其他网站的cookie都没问题。我试了IE、Greenbrowser、谷歌浏览器都是一样

    lzj203355 我设置了下setpath("/")还是一样。

    uestcfb 我的浏览器应该没有不保存cookie。因为其他网站都可以的。我找了一下硬盘没有发现我的cookie。

    展开

    展开全文
  • cookie

    2017-03-26 21:04:48
    cookie,在我第一次知道这个东西的时候,以为是饼干,但是当时是在手机浏览器中看见有一个关闭cookie的选项,然后当时百度了一下依稀记得它是一个存储信息的东西。直到现在我认真学习有关方面的东西的时候,终于了解...
    cookie,在我第一次知道这个东西的时候,以为是饼干,但是当时是在手机浏览器中看见有一个关闭cookie的选项,然后当时百度了一下依稀记得它是一个存储信息的东西。直到现在我认真学习有关方面的东西的时候,终于了解了它是一个什么东西。以及它是用来干什么的。
    一、cookie是什么?
    Cookie(复数形态Cookies),中文名称为“小型文本文件”或“小甜饼”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。定义于RFC2109。是网景公司的前雇员卢·蒙特利(英语:Lou Montulli)(Lou Montulli)在1993年3月的发明。(当然摘自网络了)
    二、在js中cookie的含义。
    在js中,cookie是一个变量,这个变量放在使用者的计算机硬盘当中。js可以创建cookie并且也可以取回cookie。当同一台计算机浏览某个网页时,就会发送cookie。(cookie是针对浏览器的)。举一个例子很好说明cookie,当某个用户在使用网站时创建了一个用户名和密码时,如果他开启了cookie那么当他在下次访问这个网站的时候就可以调用cookie,而不用再次输入账号和密码啦。从而为用户节省了时间,简化了操作。cookie其实是一个对象的属性,这个对象是:document。而document是HTML中的一个对象,在这里不过多说明。
    三、怎么创建cookie。
    创建cookie很简单比如:

    document.cookie = "名字:晨风";

    但是此时应该注意,这个cookie只是短暂存在于浏览器中的,一旦关闭浏览器则cookie就失效了,cookie的查看在每个浏览器中对应的位置不同,在Google的浏览器中,cookie在地址栏的前面的感叹号之中。平时所用到的cookie的过期时间很长,那么如何能办到长久的使cookie有效呢?下面就完整的说明在创建cookie字符串的时候需要注意的部分:
    name(名称)、value(值)、expires(过期时间)、path(路径)、domain(域)、和secure(安全性)。
    1、名称和值
    cookie字符串的第一部分包括名称和值,名称是用来引用cookie的,而值是用来表达cookie的信息部分。第一部分为必选的部分,就如同不以结婚为目的的谈恋爱是耍流氓一样,不存储名称和值的cookie是数流氓的行径,因为保存信息是cookie的目的所在,必须确保cookie的名称和值在cookie字符串的开头部分。
    2、过期时间

    document.cookie = '名字 = 晨风;expires = Tue, 01 Dec 2020 00:00:00 GMT;'


    如果希望cookie存在的时间比较长,那么就涉及到了cookie的第二部分,也是就是expires,过期时间,在上述代码中,cookie的过期时间是2020年12月1号。这里需要注意的是:格式,过期时间的格式十分重要,与toGMTString()方法给出的cookie的格式相同。当然也可以用Date对象来获取当前的日期和时间,然后将cookie设置成该日期后的3或6个月过期,这样就不用一直更改时间了。(比如2020年过后还得再改代码,岂不是很不好?)

    var exprieDate = new Date();
    expireDate.setMonth(expireDate.getMonth() + 6);
    document.cookie = '名字 = 晨风;expires = '+expireDate.toGMTString()+';';

    这个代码就是在当前日期后的6个月过期。当然如果用户提前把cookie删除的话那也是没有办法的。
    3.路径
    在一般情况之下,一般的cookie只用设置neme,value,exprice就可以了。访问网站也是有路径的,Web服务器采用的路径方法和硬盘的存储方法类似,但是在网页中,cookie只是针对于某个特定的路径,而不是全域的,如果一旦cookie的路劲出现问题,那么用户的安全也就出现了问题,对于免费的Web而言,大部分的时候是不允许共享cookie的所以cookie的路径设置也是很重要的。
    如果你登录一个网站,比如说,你在某网站买了一件衣服(这时需要你的cookie),也买了一块面包(这时也需要你的cookie),然后结账的页面也需要你的cookie,那么此时你就需要把cookie的路径设置成该网页的主目录中(这个主目录并非全域),以便可以方便的使用cookie,

    [code="java"]document.cookie = '名字 = 晨风;expires = Tue, 01 Dec 2020 00:00:00 GMT'+';path=/store;';

    [/code]
    当然如果想要全域都可以访问这个cookie那么path = /就可以了。
    4、域和安全
    由于我水平有限,而且这是比较高级的操作技巧,所以只简单的介绍一下。
    域是cookie的第四部分,域的设置是可选的。如果同一个域里面有好几个子域,想让这几个子域都可以共享一个cookie那么就可以用域来指定域的所有子目录,

    document.cookie = '名字 = 晨风;expires = Tue, 01 Dec 2020 00:00:00 GMT'+';path=/;'+';domain = '域'.com;';


    cookie的最后一部分是安全,secure,这是一个布尔值,如果为true ,cookie仅发送给尝试使用安全通道检索它的Web服务器。它的默认值为false时表示:总是发送cookie,不考虑安全性,仅用于SSL建立服务器的情况。
    展开全文
  • pc 端的项目,有一个步骤可以在手机上操作,页面都在同一个域名下面,但是pc端需要登录(用到了 cookie ),公众号端不需要登录,不用 cookie ,不清楚后台怎么处理的,只知道这时候如果还携带 cookie 后台总是报错,...

    公司有个项目,需求是这样的:
    pc 端的项目,有一个步骤可以在手机上操作,页面都在同一个域名下面,但是pc端需要登录(用到了 cookie ),公众号端不需要登录(不用 cookie ) ,不清楚服务端怎么处理的,只知道这时候如果还携带 cookie 服务端会提示一个什么东西(不是重点),前台需要在进去操作的时候先将 cookie 清除掉。

    至于这个 cookie 怎么来的,那就有的说道了,将 pc 的地址直接用微信访问,然后登录上去(记录了 cookie ),然后关闭(不是退出,是直接关闭, cookie 没清除),这时候再用公众号访问那其中的一个专门给公众号准备的页面,和 pc 的地址在同一个域名下边,进行操作的时候 cookie 就存在了

    解决方案就是公众号端在进行操作的时候,先删除 cookie (设置过期时间 -1),再进行操作,正常来讲,后端应该是收不到 cookie 了,因为 cookie 都过期了,不存在了,但是后端还是能收到 cookie 这就显得稍微的诡异了一点

    cookie 是封装好的,先上一份通过测试之后的正确代码,有兴趣的可以往下看看有问题的代码

    const setCookie = (name, value, expire = 60*60*24, domain=null) => {
      domain || (domain = window.location.host);
    	let date = new Date();
    	date.setSeconds(date.getSeconds() + expire);
    	document.cookie = name + " = " + escape(value) + "; expires=" + date.toGMTString()+"; dommain=" + domain + "; path=/";
    };
    //读取cookie
    const getCookie = (name) => {
    	var arr;
    	const reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    	arr = document.cookie.match(reg);
    	if (arr) {
    		return unescape(arr[2]);
    	} else {
    		return null;
    	}
    };
    //读取cookie
    const readCookie = (name) => {
      let arr = null
      let reg = new RegExp('(^| )'+name+'=([^;]*)(;|$)')
      if (document.cookie && (arr = document.cookie.match(reg))) {
    	return unescape(arr[2])
      } else {
    	return null;
      }
    }
    
    const delCookie = (name, domain=null) => {
      domain || (domain = window.location.host);
    	let exp = new Date();
    	exp.setTime(exp.getTime() - 1);
    	let cval = getCookie(name);
    	if (cval != null) {
    		document.cookie = name + " = " + cval + "; expires=" + exp.toGMTString()+"; dommain=" + domain + "; path=/";
    	}
    };
    //清除所有cookie
    const clearAllCookie = (domain=null)=>{
      domain || (domain = window.location.host);
    	let date = new Date();
    	date.setTime(date.getTime() - 1);
    	let keys = document.cookie.match(/[^ =;]+(?=\=)/g);
    	if(keys){
    		for(let i=keys.length;i--;){
    			document.cookie = keys[i] + ` = 0; expires=${date.toGMTString()}; dommain=${domain}; path=/`;
    		}
    	}
    }
    export default {
    	setCookie,
    	getCookie,
    	readCookie,
    	delCookie,
    	clearAllCookie
    };
    

    下边是造成 cookie 诡异的代码:
    可以看到,也就是 domain 和 path 没携带上,可能是 微信浏览器 这边要求比较的严格吧,但是这一份代码放 pc 端是没问题的

    const setCookie = (name, value, expire) => {
    	let date = new Date();
    	date.setSeconds(date.getSeconds() + expire);
    	document.cookie = name + " = " + escape(value) + "; expires=" + date.toGMTString();
    };
    
    const getCookie = (name) => {
    	var arr;
    	const reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    	arr = document.cookie.match(reg);
    	if (arr) {
    		return unescape(arr[2]);
    	} else {
    		return null;
    	}
    };
    //读取cookies 
    const readCookie = (name) => {
      let arr = null
      let reg = new RegExp('(^| )'+name+'=([^;]*)(;|$)')
      if (document.cookie && (arr = document.cookie.match(reg))) {
    	return unescape(arr[2])
      } else {
    	return null;
      } 
    }
    
    const delCookie = (name) => {
    	let exp = new Date();
    	exp.setTime(exp.getTime() - 1);
    	let cval = getCookie(name);
    	if (cval != null) {
    		document.cookie = name + " = " + cval + "; expires=" + exp.toGMTString();
    	}
    };
    //清除所有cookie
    const clearAllCookie = ()=>{
    	let date = new Date();
    	date.setTime(date.getTime() - 10000);
    	document.write(document.cookie);
    	let keys = document.cookie.match(/[^ =;]+(?=\=)/g);
    	if(keys){
    		for(let i=keys.length;i--;){
    			document.cookie = keys[i] + `=0; expires=${date.toGMTString()};PATH=/`;
    		}
    	}
    }
    export default {
    	setCookie,
    	getCookie,
    	readCookie,
    	delCookie,
    	clearAllCookie
    };
    
    
    展开全文
  • 这篇文章主要详细向大家介绍了 javascript 操作 Cookie 的方法包括设置读取删除 操作十分的细致...无过期时间 若不设置过期时间默认为会话级 Cookie 浏览器关闭就会失效 代码如下 : function setCookie(name,value) {
  • cookie杂学

    2017-03-01 22:55:35
    遮罩层的业务逻辑是:进入转账页面,会在页面下部占据五分之一的高度展示一个手机银行的广告~这里需要在弹出该遮罩层前,做一个判断:是否在14天内关闭过此悬浮层,如果关闭过,则14天内不再显示。 实现方式:不...

    今天做了一个转账输入页,遮罩层广告控制的cookie,但因cookie理解不深,造成了生产问题。

    遮罩层的业务逻辑是:进入转账页面,会在页面下部占据五分之一的高度展示一个手机银行的广告~这里需要在弹出该遮罩层前,做一个判断:是否在14天内关闭过此悬浮层,如果关闭过,则14天内不再显示。

    实现方式:不操作后台数据,只在前台做校验,目前想到最好的方式就是cookie。

    实现逻辑:当客户点击关闭按钮时,触发JS,增加当前时间至cookie中;当客户首次进入6个功能页面之一时会获取cookie中该值,并与当前时间做对比,得到时间差,以天为单位,若大于14天则显示遮罩层;当然客户首次进入cookie中是没有该值得,所以得到时间差为null,也判断显示遮罩层。

    BUG:未设置cookie生命周期,导致默认生命周期:浏览器关闭即失效。最重要的是:各种测试没测出来~各种测试没测出来~各种测试没测出来~直到上了生产,才发现这一BUG。。。

    以下为修改后JS代码,望引以为鉴~

    /*
     *@description(手机银行遮罩层专用) 判定用户是否14日内登陆,若未登陆则显示手机银行遮罩层
     *@author 
     */
    function checkMobile_bgDate(){
    	try{
    		var cDate = new Date();
    	    var currentDate = cDate.getTime();
    	    
            if(cookie != null && cookie != undefined
                    && cookie.getCookie() != null && cookie.getCookie() != undefined){
                 //页面初始化时从cookie当中获取上次关闭时间
            	 var result =document.cookie.split("; ");
            	 var sub = null;
                 for(var i = 0;i < result.length;i++){
                    var temp = result[i].split("=");
                    if(temp[0] == 'Mobile_bgDate'){           
    	                 //从cookie当中读取值后与之前保留值做对比
    	                 var lm = unescape(temp[1]);
    	                 //得到相差天数
    	                 sub = parseInt((currentDate-lm)/86400000);
    	                 }
                    }
                    if(sub > 14 || sub == null){
                    	window.top.showMobile_bg();//展示手机银行遮罩层
    	            }
    	        }
    	    }catch(e){
     
    	    }
    	}
    /*
     *@description(手机银行遮罩层专用)增加cookie时间
     *@author 
     */
    function addMobile_bgDate(){
    	var date = new Date();
        var currentDate = date.getTime();
        var cookieString ="Mobile_bgDate=" + escape(currentDate);
        date.setTime(date.getTime() + 24 * 14 * 3600 * 1000);//14天
        cookieString = cookieString + "; expires="+ date.toGMTString()+";";
        document.cookie=cookieString;


    ------------------------------分割线------------------------------------

    深入学习cookie

    从百度百科学起:点击打开百度百科哦

    个人理解cookie是存放在客户端中的文本文件,它分为“Session Cookies”在浏览器运行时,在RAM中发挥作用,另一种是“ Persistent Cookies”当浏览器退出时存放在本地硬盘上,在有效期内可供下次调用。上面的BUG就是因为没有设置cookie的生命周期导致默认“Session Cookies”,浏览器关闭时即删除。

    另发现一个易出错的点:在同一个页面中设置 Cookie,实际上是按从后往前的顺序进行的。如果要先删除一个 Cookie,再写入一个 Cookie,则必须先写写入语句,再写删除语句,否则会出现错误。

    多个不同浏览器是无法做到共享cookie的,因为每个浏览器存cookie路径不是一样的,所以无法做到不同浏览器共享cookie。

    如果是同一种浏览器,多个标签页共享的话,再生成cookie的时候添加cookie的有效期;否则cookie为会话cookie,这种客户端是不会把cookie存到硬盘上的,其他标签也无法获取到cookie。

    在不同版本的浏览器中对cookie有着不一样的支持,调用原理也有所不同,看各位大神遇到的问题:

    IE、火狐等时区对cookie生命周期的影响(点击打开链接

    测试不同浏览器对cookie长度限制测试(点击打开链接

    测试cookie是否可以多个浏览器共享(点击打开链接



    展开全文
  • 1.浏览器的储存cookie,localStorage,sessionStorage.IndexedDB比较一下差异:1)传递方式:cookie在浏览器和服务器间来回传递;sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存;2)存储大小:...
  • Cookie和Session

    2020-10-27 15:26:41
    比如:浏览器向服务器发送一个请求将商品添加到购物车中(prod=手机),首先服务器要先获取商品的信息,[String prod = request.getParameter(“prod”)] 获取后,创建Cookie对象,将商品信息保存到Cook
  • Session (记录这次会话中客户端的状态与数据不登陆情况下,保存数据到本地)一次会话:从打开浏览器访问某个站点,到关闭这个浏览器(关页面不算)Cookie:数据存储在客户端本地,减少服务器端存储压力,客户端可清除...
  • Cookie和Session学习

    2018-05-06 20:22:03
    一、会话技术上图即为一个会话过程,某客户端购物加入一个手机和一个惠普进入购物车,用Cookie储存在客户端或者Session储存在服务器端。会话:从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次...
  • 会话现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束。这个过程也可以用我们的B/S模式来描述:打开浏览器—>输入地址->发出请求->服务器收到请求->向...
  • Session与Cookie

    2017-07-31 15:44:59
    现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束。 这个过程也可以用我们的B/S模式来描述:    打开浏览器—>输入地址->发出请求->服务器收到请求->向浏览器发出...
  • Cookie和Session的区别

    2018-12-05 22:12:44
    如果同时在访问你的Session关闭的时候是Session.Clear();那会不会把别人的Session给清空掉 因为Session保存在服务器上。 写在前面 最近在开发手机端的登陆功能,做到登陆自然而然就会涉及关于会话跟踪方面的知识。说...
  • Cookie与Session

    2016-02-29 20:56:17
    现实生活中,我们经常会用到手机和对方进行通话,结束后挂断电话,打电话到结束这个过程可以与浏览器访问Web容器做个类比,首先打开浏览器输入URL地址(相当于对方的号码),然后浏览器就发出HTTP请求(拨号等待接通...
  • 遇到的问题:在使用localstorage的时候,微信调用第三方页面的时候,返回来处理逻辑的时候,localstorage保存的数据出现了丢失,这是有些手机导致的!但是使用cookie就不会导致这种情况发生 有些机型不能存储信息到...
  • Servlet Cookie 和 Session

    2019-02-12 20:36:16
    现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束。 这个过程也可以用我们的B/S模式来描述: &nbsp; &nbsp; 打开浏览器—&gt;输入地址-&gt;发出请求-...
  • JavaWeb之Servlet:Cookie 和 Session 会话 现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束。 这个过程也可以用我们的B/S模式来描述:    打开浏览器—>输入地址-...
  • 会话现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束。这个过程也可以用我们的B/S模式来描述: 打开浏览器—&gt;输入地址-&gt;发出请求-&gt;服务器收到...
  • 朋友参加新东方手机摄影大赛,邀我去投票。...1 浏览器设置为每次关闭清除cookie 2 使用python的webbrowser模块打开链接 3 模拟鼠标点击投票按钮 4 杀死浏览器进程## -*- coding: UTF-8 -*- import win32api,win32pd
  • 现在有许多移动端登录是使用的是手机号码加验证码...那我们可以把倒计时的数组储存到cookie或者session中,可以满足页面刷新不丢失的效果,但是用户关闭掉页面,还是会存在倒计时丢失. 最后我们需要把倒计时时间记录在l...
  • DX1.5 手机正式版

    2011-02-25 17:39:55
    //设置错误报告等级 以及关闭自动转义 error_reporting(E_ERROR); if(phpversion() ‘5.3.0′) { set_magic_quotes_runtime(0); } //设置常用常量,最主要是判断是否支持某些函数 define(‘DISCUZ_ROOT’, substr...
  • 很多APP、网站刚进入都会显示广告弹窗或者海报,浏览其他页面返回首页不再显示,当关闭网站再重新进入到首页再显示,可以考虑用cookie或者本地存储,本文介绍的是H5的本地存储。 关于HTML5本地存储的知识 HTML本地...
  • MAC.Cookie.Set(name,value,days) 设置cookie的值; name=cookie名称,value=cookie值,days=过期时间 MAC.Cookie.Get(name) 获取cookie的值; name=cookie名称 MAC.Cookie.Del(name) 删除cookie的值; name=cookie名称 ...
  • Servlet与JSP进阶

    2020-07-05 11:07:42
    get请求: post请求: 输出时不乱码: PC端和手机端分别显示 ...cookie如果没有设置,默认情况下,浏览器关闭cookie销毁 设置cookie保留7天: Session-用户会话 创建Session: 打印Session: ...
  • 微信网页cookie的问题 什么时候cookie会被清空 答:微信进程关闭 不会清空;手机关机重启,也不会清空; 微信号退出重新登录,会清空;debugx5.qq.com,选择清空cookie,会清空
  •  1、解除网页跟踪 通过 Cookie,网站可以跟踪你的上网记录,会依据这个为你投放广告或者新闻网页。默认的浏览器 Safari 有一个关闭跟踪的按钮,进入设置,点开 Safari,滑到底部就能看到了。关闭网页跟踪,还自己...
  • 作者2月22日消息据外媒 XDA 论坛消息,谷歌近日为 iOS 版 Chrome Beta 版添加了新功能,更有利于保护无痕模式...如果用户忘记关闭无痕模式的窗口,其他人拿到手机后便可以轻易看到隐私内容。谷歌 Chrome 浏览器 iOS...

空空如也

空空如也

1 2 3 4 5
收藏数 93
精华内容 37
关键字:

关闭手机cookie