本文目录一览:
- 1、为什么本地使用js或jquery操作cookie在谷歌浏览器chrome中不生效
- 2、用原js写获取本地cookie的方法
- 3、请问如何打开一个网页的时候用js将cookie置入进去
- 4、js本地存储和cookie
- 5、静态页面怎么用js获取cookie
为什么本地使用js或jquery操作cookie在谷歌浏览器chrome中不生效
具体解决方案如下:
1、原因在于chrome不支持js在本地操作cookie!
据测试,除了chrome浏览器外,其他主流浏览器(ie、firefox等)都支持js在本地操作cookie。当然部署到服务器上所有浏览器都是支持的。
2、当然,还有另外一个原因:浏览器设置成不支持cookie。这样,调试js操作cookie当然也是不生效的。
用原js写获取本地cookie的方法
get(cookie){
let cookieValue=null;
let cookies=document.cookie.split(';');
for(var i=0;icookies.length;i++){
let cookie=cookies[i].trim();去掉前后的空格
if(cookie.substring(0,name.length+1)==(name+'=')){
cookieValue=decodeURICompoent(cookie.substring(name.length+1));
break
}
}
return cookieValue;
}、
请问如何打开一个网页的时候用js将cookie置入进去
必须由当前网页所进行的cookie操作才有效,比如说百度的页面,就要由这个页面内所包含的js代码才能设置和获取自身的cookie,而不能由其他网站或软件来强加给它,否则要想黑一个网站就太容易了。
js本地存储和cookie
1、数据存储在用户浏览器中
2、设置、读取方便,甚至页面刷新不丢失数据
3、容量较大,sessionStorage约5M, localStorage约20M
4、只存储字符串
1、生命周期为关闭浏览器
2、在同一个窗口(页面)下数据可以共享
3、以健值对的形式存储使用
1、生命周期永久生效,除非手动删除,否则页面关闭也会存在
2、可以多页面共享
3、以健值对的形式存储使用
使用场景
静态页面怎么用js获取cookie
如何使用js来获取cookie的值,读取属于当前文档的所有cookies,参考如下:
var allcookies = document.cookie;
定义一个函数,用来读取特定的cookie值。
function getCookie(cookie_name)
{
var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name); //索引的长度
// 如果找到了索引,就代表cookie存在,
// 反之,就说明不存在。
if (cookie_pos != -1)
{
// 把cookie_pos放在值的开始,只要给值加1即可。
cookie_pos += cookie_name.length + 1;
var cookie_end = allcookies.indexOf(";", cookie_pos);
if (cookie_end == -1)
{
cookie_end = allcookies.length;
}
var value = unescape(allcookies.substring(cookie_pos, cookie_end)); //这里就可以得到想要的cookie的值了。
}
return value;
}
// 调用函数
var cookie_val = getCookie("username");