`

javascript浏览器端(客户端)存储数据

 
阅读更多

在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

分享到:
评论
1 楼 hubenshan 2011-10-17  
好东西!值得研究学习!

相关推荐

    浏览器端存放数据技术.txt

    Cookie是一种在客户端存储少量数据的方法,通常用于跟踪用户的行为。当用户访问一个网站时,服务器可以在用户的设备上设置Cookie,这样即使用户关闭浏览器再次访问该网站时,服务器也可以通过读取Cookie中的信息来...

    Android服务器端与客户端的数据交互

    在Android应用开发中,服务器端与客户端的数据交互是至关重要的环节,这涉及到用户信息的验证、数据的获取和存储等多个方面。在这个过程中,通常会采用HTTP或HTTPS协议进行通信,利用JSON或XML等数据格式传输数据。...

    jStorage一个简单的键值数据库用于在浏览器端存储数据

    jStorage是一个轻量级的JavaScript库,它为Web应用程序提供了一个在浏览器端存储数据的解决方案。这个库允许开发者以键值对(key-value pairs)的形式存储JSON对象,类似于本地存储(localStorage)和会话存储...

    适用于JavaScript的Tanker客户端加密SDK

    Tanker客户端加密SDK正是为了解决这一问题而设计的,它专注于JavaScript环境中的数据安全,使得在浏览器端进行通信和存储时能确保数据的机密性和完整性。 Tanker客户端加密SDK是一种专门用于JavaScript应用程序的...

    使用flash在客户端存储数据

    标题“使用Flash在客户端存储数据”涉及到的是一个利用Adobe Flash技术在用户计算机本地存储数据的方法。Flash曾经是互联网上广泛使用的交互式内容平台,其中包括一项功能,允许网站在用户的浏览器中存储信息,以便...

    PersistJS客户端数据存储的JavaScript框架

    一直以来,Cookie是客户端存储技术中的传统解决方法。然而,相对于像PersistJS这样越来越流行的框架来说,使用cookie还是有一些不好的地方。比如,cookie被限制在4k字节内。在每个HTTP处理中都要发送cookie会浪费...

    XML数据在浏览器端的动态关联显示处理研究.pdf

    综上所述,通过结合XML的结构化数据存储能力与JavaScript的动态处理功能,可以在浏览器端实现复杂的数据关联显示,为网络教学和互动课件提供了一种高效、灵活的方法。这种技术的应用不仅限于教育领域,还可以扩展到...

    JavaScript客户端加密.zip

    总的来说,“JavaScript客户端加密.zip”包含的可能是一个用于处理支付卡信息的客户端加密库,它提供了在浏览器端加密敏感数据的方法,帮助商家实现更安全的在线支付流程。对于从事电子商务和在线支付业务的开发者来...

    浏览器端爬虫程序.zip

    与传统的服务器端爬虫不同,这种爬虫不依赖于服务器的处理能力,而是利用JavaScript等客户端技术,直接在用户的浏览器环境中抓取和解析网页内容。这种技术常用于模拟用户交互,获取动态加载的数据,或者在某些限制了...

    DWR3实现服务器端向客户端精确推送消息

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在Web浏览器中直接调用Java方法,从而实现实时的、双向的通信。在“DWR3实现服务器端向客户端精确推送消息”这一主题中,我们将深入探讨如何利用DWR3进行...

    Android客户端与服务器端的json数据交互(内含大量知识点)

    通过以上步骤,我们可以构建一个完整的Android客户端,实现与服务器端的JSON数据交互,包括文件上传和文件浏览器功能。在这个过程中,理解JSON格式、网络请求、文件操作、安全策略以及异步处理等知识点至关重要。

    JavaScript客户端-在调用REST地图服务的同时使用5.0预缓存

    地图服务通常是大数据量、高交互性的应用,JavaScript客户端用于构建交互式的地图界面,而预缓存技术则有助于减少延迟,提升用户体验。 首先,理解REST地图服务。地图服务通常由地理信息系统(GIS)服务器提供,如...

    灵活的工具通过纯JavaScript来处理客户端应用程序缓存

    标题中的“灵活的工具通过纯JavaScript来处理客户端应用程序缓存”指的是使用JavaScript在浏览器环境中管理应用程序的缓存机制。这通常涉及到Web应用的性能优化,特别是对于离线存储或者需要减少网络请求的情况。...

    webrsaencryption支持浏览器端的ras加密

    在浏览器端,这可以通过JavaScript库完成,生成的密钥对可以存储在本地或者通过安全的方式发送到服务器。 2. **数据加密**:用户数据使用公钥进行加密。因为公钥是公开的,所以可以在浏览器端安全地使用,即使数据...

    web端对windows客户端数据采集的展示

    在IT领域,尤其是在系统监控和数据分析的场景下,"web端对windows客户端数据采集的展示"是一个关键的技术应用。这个话题涉及到多个方面的技术知识点,包括客户端数据采集、Web服务器通信、数据处理与展示以及Windows...

    web浏览器点击打开本地exe程序(类似百度网盘效果)

    本场景中,我们关注的是"web浏览器点击打开本地exe程序",这个功能类似于百度网盘那样,用户在浏览器内操作时可以启动本地的客户端程序。这种技术的核心是利用浏览器的扩展机制和操作系统级别的交互。 首先,我们要...

    CookiesjsJavaScript客户端的Cookie操作库

    "CookiejsJavaScript客户端的Cookie操作库" 指的是一种JavaScript库,专门用于在客户端(即用户浏览器)进行Cookie的操作。Cookiejs是这个库的名称,它提供了一组简单易用的API,帮助开发者方便地管理用户的Cookie。...

    JavaScript_在浏览器和设备之间私下同步书签.zip

    在JavaScript中,我们可以利用Web存储技术(如localStorage和sessionStorage)来在用户浏览器上保存数据,这些数据在用户关闭和重新打开浏览器时仍能保留。对于跨设备同步,通常需要借助服务器端的帮助。可以通过API...

    javascript增删改查,数据存储在top窗口

    1. 使用`localStorage`:`localStorage`允许我们在浏览器端持久化存储键值对数据,即使关闭浏览器后,数据依然存在。 ```javascript // 存储数据 top.localStorage.setItem("users", JSON.stringify(users)); // ...

    JSON客户端与服务器端生成JSON数据及传递方法

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,设计用于高效地传输和存储数据,尤其适合服务器与JavaScript之间的交互。相比于XML,JSON因为其简洁的语法和更直观的数据表示,成为了现代Web应用中...

Global site tag (gtag.js) - Google Analytics