文档章节

微信内置浏览器是否支持localstorage

huangcan
 huangcan
发布于 2016/02/01 00:09
字数 759
阅读 650
收藏 0

微信内置浏览器是否支持localstorage(测试)

LocalStorage即本地存储,它的前身是userData,与之相类似的接口SessionStorage是一个前端的概念,它只是可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage 中的数据就会被清空。

以下是LocalStorage的测试代码:

var storage = window.localStorage;
if (!storage.getItem("pageLoadCount")) storage.setItem("pageLoadCount", 0);
storage.pageLoadCount = parseInt(storage.getItem("pageLoadCount")) + 1; //必须格式转换
document.getElementById("count").innerHTML = storage.pageLoadCount;
showStorage();
if (window.addEventListener) {
	window.addEventListener("storage", handle_storage, false);
} else if (window.attachEvent) {
	window.attachEvent("onstorage", handle_storage);
}

function handle_storage(e) {
	if (!e) {
		e = window.event;
	}
	showObject(e);
}
function showObject(obj) {
	//递归显示object
	if (!obj) {
		return;
	}
	for (var i in obj) {
		if (typeof(obj[i]) != "object" || obj[i] == null) {
			document.write(i + " : " + obj[i] + "<br/>");
		} else {
			document.write(i + " : object" + "<br/>");
		}
	}
}
storage.setItem("a", 5);

function changeS() {
	//修改一个键值,测试storage事件
	if (!storage.getItem("b")) {
		storage.setItem("b", 0);
	}
	storage.setItem('b', parseInt(storage.getItem('b')) + 1);
}

function showStorage() {
	//循环显示localStorage里的键值对
	for (var i = 0; i < storage.length; i++) {
		//key(i)获得相应的键,再用getItem()方法获得对应的值
		document.write(storage.key(i) + " : " + storage.getItem(storage.key(i)) + "<br>");
	}
}

测试设备:Android4.4.0 微信内置浏览器

从测试结果中得出结论,微信内置浏览器是支持localStorage的,无论是退出微信再刷新,或者重启手机再刷新,localStorage的状态都会保存在手机里。

因为考虑到每个 HTTP 请求都会带着 Cookie 的信息,所以 Cookie 当然是能精简就精简啦,比较常用的一个应用场景就是判断用户是否登录。针对登录过的用户,服务器端会在他登录时往 Cookie 中插入一段加密过的唯一辨识单一用户的辨识码,下次只要读取这个值就可以判断当前用户是否登录啦。曾经还使用 Cookie 来保存用户在电商网站的购物车信息,如今有了 localStorage,似乎在这个方面也可以给 Cookie 放个假了~

而另一方面 localStorage 接替了 Cookie 管理购物车的工作,同时也能胜任其他一些工作。比如HTML5游戏通常会产生一些本地数据,localStorage 也是非常适用的。如果遇到一些内容特别多的表单,为了优化用户体验,我们可能要把表单页面拆分成多个子页面,然后按步骤引导用户填写。这时候 sessionStorage 的作用就发挥出来了。

安全性问题:

        需要注意的是,不是什么数据都适合放在 Cookie、localStorage 和 sessionStorage 中的。使用它们的时候,需要时刻注意是否有代码存在 XSS 注入的风险。因为只要打开控制台,你就随意修改它们的值,也就是说如果你的网站中有 XSS 的风险,它们就能对你的 localStorage 肆意妄为。所以千万不要用它们存储你系统中的敏感数据。

参考资料:

http://jerryzou.com/posts/cookie-and-web-storage/

http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html 

© 著作权归作者所有

上一篇: c基本概念
下一篇: c基本概念
huangcan
粉丝 1
博文 2
码字总数 1555
作品 0
岳阳
私信 提问
使用 Modernizr 来检测浏览器对 HTML5/CSS3 特性的支持程度

HTML5, CSS3 以及其他相关技术例如 Canvas、WebSocket 等等将 Web 应用开发带到了一个新的高度。该技术通过组合 HTML、CSS 和 JavaScript 可以开发出桌面应用具有的效果。尽管 HTML5 承诺很多...

tsl0922
2012/11/27
1K
2
android 内置 webview 如何对html5优化,加快流畅度?

同一个网页,或是同一款html5游戏,微信内置浏览器,或是UC等浏览器,对其有好支持,但android内置的webview.loadURL流畅度就很差,有什么优化的途径吗?

MrHello
2015/07/02
7.5K
1
主流浏览器CSS3和HTML5兼容性详细清单

天极网软件频道2011-05-26 15:26 分享到:我要吐槽   更多精彩相关文章推荐:   常用浏览器软件HTML5兼容性表现测试   IE和Firefox浏览器CSS兼容性技巧整理   CSS hack定义技巧浏览器...

波利beryl
2014/11/12
119
0
五大主流浏览器CSS3和HTML5兼容性大比拼

本文是一份IE,Chrome,Firefox, Safari,Opera五大主流大浏览器,在 Mac 和 Windows 两个平台,对 CSS3 和 HTML5 各种特性支持情况的详细清单。 各大主流浏览器对 CSS3 和 HTML5 的支持越来...

红薯
2011/05/26
4.7K
12
📦 首个浏览器内置模块 kv-storage 异步版的 localStorage

浏览器内置模块 kv-storage 异步版的 localStorage LocalStorage 大家都不陌生基本上每天都在跟他打交道。但这是个会阻塞主线程的同步 API,很多情况下存取大量数据可能会造成性能问题。🙁...

Oliveryoung
03/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

parseint和isNaN用法

本文转载于:专业的前端网站➭parseint和isNaN用法 <!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><script> var a='12'; alert......

前端老手
59分钟前
7
0
Kylin 精确去重在用户行为分析中的妙用

作者:史少锋,Apache Kylin committer & PMC,2019/10/11 在上次文章《如何在 1 秒内做到大数据精准去重》中,我们介绍了 Apache Kylin 为什么要支持大数据集上的精确去重,以及基于 Bitmap...

ApacheKylin
今天
5
0
学习记录(二) es6基本语法(rest参数,模板化,axios模块,拦截器)

日常学习记录 模块化:把一个大文件分成多个小文件,按照一定规范进行拼接 es5写法: 导出:module.exports = 数据 导入:require("路径") /路径未添加后缀名时 //默认添加.js //把路径作为文件名...

Pole丶逐
今天
4
0
以程序员的角度怎么购买一台「性价比高的电视」

前俩天有小伙伴在我的文章下留言,说能否把 【国内电视机都介绍一下】,今天我已在TV端开发多年的程序员的角度。谈谈已程序员的角度如何购买一台性价比高的电视。 国内大的电视机品牌介绍 长...

我们都很努力着
今天
5
0
PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部