在web页面开发时候经常需要在用户的浏览器端保存一些数据,使得下次不用和后台服务器进行交换或是为了一些易用性。比如用户点击了某个checkbox,下次我们希望用户打开该页面该checkbox仍然是上次关闭时候的状态
1、http cookies
http cookies就不用多介绍了
示例代码如下:
getCookieValue();
function getCookieValue() {
var cookieLength = document.cookie.length;
var cookieName = "cookieName="
if (cookieLength > cookieName.length) {
var startPosi = document.cookie.indexOf(cookieName);
if (startPosi >= 0) {
var endPosi = document.cookie.indexOf(";", startPosi);
if(endPosi < 0) {
endPosi = document.cookie.length;
}
var cookieValue = document.cookie.substring(startPosi + cookieName.length, endPosi);
alert(cookieValue);
}
}
}
function change() {
document.cookie="cookieName=cookieValue";
}
从上可以看出,写cookie相当简单document.cookie="cookieName=cookieValue";就ok啦。
其中cookieName为cookie的名字,cookieValue为cookie的值。
读cookie相对有些麻烦,需要先将起始位置定位到cookieName,
结束位置定位到cookieName之后的第一个;(分号),因为键值对以分号分隔。
然后取得其中的字符串即为cookieName=cookieValue
从上可以看出对于一些字符像分号需要转义存入,否则会出错,更多详细见
http://hi.baidu.com/noirwinter/blog/item/920f52af3d4201fafbed503f.html
2、Web Storage
Web Storage是目前得到支持最广泛的HTML5本地存储规范:IE 8+、FF 3.5+、Safari 4+、Chrome 4+、Opera 10.5+,以及iPhone 2+和Android 2+都已经支持Web Storage。
要判断你的浏览器是否支持Web Storage,可以使用
function supports_html5_storage() {
try {
return 'localStorage' in window && window['localStorage'] !== null;
} catch (e) {
return false;
}
}
关于web storage的使用,示例代码如下:
getAutoSaveValue();
function getAutoSaveValue() {
try {
if (localStorage["autoSave"] != null && localStorage["autoSave"] != "") {
alert(localStorage["autoSave"]);
}
return true;
// return 'localStorage' in window && window['localStorage'] !== null;
} catch (e) {
return false;
}
}
function change() {
localStorage.setItem("autoSave", "1");
}
其中函数getAutoSaveValue为获取保存的值,可以看出其调用方法非常简单
直接localStorage["autoSave"]即可,autoSave为保存的变量名
其他存储方法如Web SQL Database 、IndexedDB 见
参考:http://www.iteye.com/magazines/62-html5-local-storage
分享到:
相关推荐
一直以来,Cookie是客户端存储技术中的传统解决方法。然而,相对于像PersistJS这样越来越流行的框架来说,使用cookie还是有一些不好的地方。比如,cookie被限制在4k字节内。在每个HTTP处理中都要发送cookie会浪费...
适用于JavaScript的Google API... 注意:此存储库不包含gapi客户端的源代码。 特征 JavaScript客户端库 。 该库支持。 如果使用TypeScript,则可以安装进行自动补全。 文献资料 导游 样品 链接 讨论区 历史公告
[已弃用]该存储库不再... 向后兼容:如果没有给定浏览器的客户端存储解决方案,则可以使用Flash或Cookie。 兼容兼容:支持即将推出的Internet Explorer,Firefox,Chrome和Safari版本(如果有Flash,也支持Opera)。
从 Node.js、io.js 或浏览器 Javascript 应用程序中的 immut.io 存储和检索任意 blob。 有关更多信息,请参阅 。 安装 使用预先发布的 Blob: [removed][removed] [removed] var im = new Immutio(); [removed] ...
R7Storage 是一个用于客户端数据存储的小库。 它使用 localStorage 并回退到 cookie。 用法 克隆 repo git clone git@github.com:r7com/R7Storage.git R7Storage . setItem ( "user" , "Guilherme" ) ; //return ...
它可以在浏览器的客户端使用,也可以在Node.js的服务器端使用。使适应版权所有(c)2015 Thomas Leonard 特此授予以任何目的使用,复制,修改和分发此软件的许可,无论是否收费,只要上述版权声明和此许可声明出现...
浏览器端的cookie及更新的客户端存储技术; 在Ajax应用程序中使用XML或JSON表示法的细节。本书遵循已被验证的学习法则,帮助读者逐步理解各种概念,使读者掌握在各种浏览器中创建强大的、快速响应的应用程序的...
第20章 客户端存储 20.1 localStorage和sessionStorage 20.2 cookie 20.3 利用IE userData持久化数据 20.4 应用程序存储和离线Web应用 第21章 多媒体和图形编程 21.1 脚本化图片 21.2 脚本化音频和视频 21.3 SVG:可...
很棒的浏览器端库,资源和闪亮的东西的集合。 实用工具 用户界面 包装经理 托管JavaScript库,并提供用于获取和打包它们的工具。 -npm是JavaScript的软件包管理器。 网络的程序包管理器。 -客户端软件包管理,...
第20章 客户端存储 579 20.1 localstorage和sessionstorage 581 20.2 cookie 586 20.3 利用ie userdata持久化数据 592 20.4 应用程序存储和离线web应用 594 第21章 多媒体和图形编程 606 21.1 脚本化图片 606 21.2 ...
我想创建一组完全在客户端运行的文件工具,而没有数据传输到服务器。 这样,我们就可以拥有新一代的基于浏览器的文件工具,它们可以开始替换其命令行版本。下一步是什么我希望看到对本地文件的所有基本操作都可以在...
第20章 客户端存储 20.1 localStorage和sessionStorage 20.2 cookie 20.3 利用IE userData持久化数据 20.4 应用程序存储和离线Web应用 第21章 多媒体和图形编程 21.1 脚本化图片 21.2 脚本化音频和视频 21.3 SVG:可...
● 浏览器端的cookie及更新的客户端存储技术; ● 在Ajax应用程序中使用XML或JSON表示法的细节。 本书遵循已被验证的学习法则,帮助读者逐步理解各种概念,使读者掌握在各种浏览器中创建强大的、快速响应的应用程序...
从颇具深度的JavaScript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本设计,从XML(E4X)到Ajax及JSON,从...
也因为大部分网页浏览器都支持JavaScript,所以它是网页设计时最适合的客户端语言。ChkInputs.js就是通过JavaScript并结合DOM对象的自定义的属性而编写的。当使用时,ChkInputs.js会自动遍历DOM的元素,逐个检测直到...
《JavaScript高级程序设计(第3版)》主要内容包括: 对JavaScript实现各个组成部分的详尽解读; 对JavaScript面向对象编程的全... 离线应用及客户端存储(包括IndexedDB); 新兴API及ECMAScript Harmony展望。
质量 此存储库包含的浏览器客户端。 有关更多信息,请参阅。 ===
《深入浅出JavaScript(中文版)》覆盖了所有的javascript基本知识,从基本网络编程技巧,如变量、函数和循环语句,到高级一些的专题,如表单验证、dom操作、客户端对象、脚本程序调试——甚至是aiax!赶快做好准备……...