禁用cookie和私密浏览模式情况下localstorage需要注意的问题

localstorage是html5新增的一个功能,用于本地存储。主要解决cookie存储量小的问题,官方建议每个网站最多存储5M大小。

localstorage相关的函数: cookieEnabled

移动端在使用localstorage需要注意下面几个问题:

禁用cookie

iphone可以在设置-》safari-》接受cookie-》永不


ipad 的设置同iphone


如果程序中没有判断是否支持localstorage的话,一般情况下直接使用相关函数会报错。

建议在使用localstorage函数之前,首先做一下判断。

判断的方法有两种:一种使用window.localstorage直接判断,另一钟使用navigator.cookieEnabled判断


设置为私密浏览模式


iphone 设置如下:新点击一个tab页面,点击左下方的私密浏览


ipad设置如下:设置-》safari-》点击私密浏览


设置成功后,ipad浏览器会变成黑颜色。


这种情况下一般不容易被注意到。无痕模式是指不记录用户操作产生的数据,比如cookie,表单信息,还有就是localstorage等信息。

私密浏览模式下,读取localstorage里面存储的数据,是没有问题。但是一旦写入数据,就会报错。

这种模式下:写入数据之前,要做一个判断,具体如下

function isSecretBrowse(){
    var _localStorage = window.localStorage;
    if(!_localStorage){
    	return false;
    }
    var testKey = 'test';
    try{
        _localStorage.setItem(testKey, '1');
        _localStorage.removeItem(testKey);
        return false;
    }catch (error){
		return true;
    }
}	

拓展阅读链接

1. localstorage error in safari

2.Iphone localStorage “QUOTA_EXCEEDED_ERR” issue



### 回答1: 使用localStorage需要注意以下几点: 1. 安全性:localStorage中存储的数据可以被其他人访问和修改,因此需要采取一定的安全措施,如加密或签名等。 2. 存储限制:localStorage存储的数据量有限,一般为5-10MB,因此不能存储过大的数据。 3. 数据类型:localStorage只能存储字符串类型的数据,如果需要存储其他数据类型,需要进行序列化和反序列化。 4. 数据有效期:localStorage中存储的数据没有过期时间,因此需要自行设置过期时间并进行清理。 5. 浏览器支持:localStorage在不同的浏览器中的支持情况可能不同,需要进行兼容性测试。 ### 回答2: 使用localStorage需要注意以下几点: 1. 数据容量限制:localStorage的存储容量是有限的,通常为5MB左右,因此在存储数据时需要注意控制存储量,避免存入过多数据导致超出限制。 2. 数据类型限制:localStorage只能存储字符串类型的数据,如果需要存储其他数据类型,需要进行相应的转换,如使用JSON.stringify()将对象转换为字符串。 3. 兼容性问题localStorage在大多数现代浏览器中都有较好的支持,但在某些老旧的浏览器中可能存在兼容性问题,因此在使用localStorage需要注意浏览器兼容性。 4. 数据安全性:localStorage的数据存储在浏览器端,可能会存在被恶意攻击或窃取的风险,因此对于敏感数据的存储,需要进行加密处理或者采用其他更安全的存储方式。 5. 存储空间共享:localStorage是针对每个域名的,不同域名的localStorage是互相独立的,因此需要注意在同一个域名下多个页面之间的数据共享问题,可以通过使用同一个localStorage键名来实现数据的共享。 6. 数据清除问题localStorage中的数据不能自动清除,需要手动清除或者设置过期时间,若不及时清除数据,可能会造成存储空间浪费。 总之,在使用localStorage需要注意数据量、数据类型、兼容性、安全性、共享和清除等方面的问题,以确保正确、安全和高效地使用localStorage进行数据存储。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值