微信不能存储localStorage该怎么解决?

972 阅读1分钟

最近在写的一些项目需要用到localStorage,挺奇怪的是它在浏览器上是能正常浏览,但是直接用微信自带的浏览器打开时却无法正常使用。翻了许多答案,找到一个比较靠谱的,就是通过cookie来替代localStorage存储据。

//设置cookie
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

//取回cookie
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
	{ 
	c_start=c_start + c_name.length+1 
	c_end=document.cookie.indexOf(";",c_start)
	if (c_end==-1) c_end=document.cookie.length
	return unescape(document.cookie.substring(c_start,c_end))
	} 
  }
return ""
}

上面定义好后,就可以参考下方去使用到代码里:

//设置cookie,各字段的含义分别为cookie名,cookie的值,cookie的有效期
setCookie('username','123',365);

//根据字段取回cookie,若cookie失效,将返回空
getCookie('username');