今天再次回顾了一下浏览器缓存数据方面的东西,因为有项目要用到,用cookie老大又不允许,所以只能看一下UserData/globalStorage/sessionStorage方面的了。
1.针对IE6以上(含)内核的浏览器,我们可以使用UserData 行为(userData Behavior)
说明:
userData 行为通过将数据写入一个UserData存储区(UserData store)来保存数据,userData可以将数据以XML格式保存在客户端计算机上,如果你用的是 Windows 2000 或者 Windows XP,是保存在C:\Documents and Settings\Liming\UserData\文件夹下(如果操作系统不是安装在C盘,那么C就应该是操作系统所在的分区)。该数据将一直存在,除非你人为删除或者用脚本设置了该数据的失效期。userData行为提供了一个比Cookie更具有动态性和更大容量的数据结构。每页的UserData 存储区数据大小可以达到64 Kb,每个域名可以达到640 Kb。userData 行为通过sessions为每个对象分配UserData存储区。使用save和load方法将UserData存储区数据保存在缓存(cache)中。一旦UserData存储区保存以后,即使IE浏览器关闭或者刷新了,下一次进入该页面,数据也能够重新载入而不会丢失。出于安全的考虑,相同协议使用同一个文件夹保存UserData存储区数据。
使用:
(1)首先必须在行内或文档的head部分声明如下样式:
.userData {behavior:url(#default#userdata);}
或者使用如下js代码来声明:
document.documentElement.addBehavior(”#default#userdata”);
(2)成员:
expires 设置或取得使用userData行为保存数据的失效日期,使用方法:对象ID.expires = UTC格式的时间字符串;
getAttribute() 取得指定的属性值;
load(存储区名) 从userData存储区载入存储的对象数据;
removeAttribute() 删除指定的属性值;
save(存储区名) 将对象存储到一个userData存储区;
setAttribute() 设置指定的属性值;
XMLDocument 取得存储该对象数据的XML DOM引用
(3)示例:
document.documentElement.addBehavior("#default#userdata");
document.documentElement.load("t");
document.documentElement.setAttribute("value", "test");
document.documentElement.save("t");
2.针对Firefox2(含)以上内核的浏览器,我们可以使用globalStorage
说明:
This is a global object (globalStorage) that maintains multiple private storage areas that can be used to hold data over a long period of time (e.g. over multiple pages and browser sessions).
Specifically, the globalStorage object provides access to a number of different storage objects into which data can be stored. For example, if we were to build a web page that used globalStorage on this domain (developer.mozilla.org) we’d have the following storage object available to us:
globalStorage[’developer.mozilla.org’] - All web pages within the developer.mozilla.org sub-domain can both read and write data to this storage object.
使用:
globalStorage[location.hostname]["t"] = “test”;//赋值
var ret = globalStorage[location.hostname]["t"];//取值
globalStorage.removeItem("t");//删除
备注:
在firefox2 中,我们可以在tc-eb-test00.tc.baidu.com 上的页面内使用globalStorage[“baidu.com“][“t“]=“test“来赋值,但是到了firefox3这么做却会得到一个错误提示,原因是firefox3的安全策略要求在使用 globalStorage时,指定的域名和实际的域名必须严格匹配!
3.Database Storage,HTML5里的内容,目前仅有Safari支持
说明:
This section is non-normative.
4.针对其它浏览器,如常见的Opera,我们可以使用Cookie
说明:
A cookie is a small piece of information stored by the browser. Each cookie is stored in a name=value; pair called a crumb—that is, if the cookie name is “id” and you want to save the id’s value as “this”, the cookie would be saved as id=this. You can store up to 20 name=value pairs in a cookie, and the cookie is always returned as a string of all the cookies that apply to the page. This means that you must parse the string returned to find the values of individual cookies.
Cookies accumulate each time the property is set. If you try to set more than one cookie with a single call to the property, only the first cookie in the list will be retained.
You can use the Microsoft® JScript® split method to extract a value stored in a cookie.
备注:
现代浏览器一般默认都支持cookie,但是使用cookie也有几个致命的弱点:存储的信息量太少,页面向服务器发送请求的同时cookie也会被发送,无形中浪费用户的带宽。
5.其它解决方案
Google Gear:Google开发出的一种本地存储技术;
Flash:利用Flash也可以实现本地存储
这两种方法的优点是:能支持所有的OS和浏览器(Google Gear目前仅支持IE5+和Firefox1.5+);缺点是需要用户安装额外的插件,使用起来不如前面其它3种方法简便。
分享到:
相关推荐
了解如何在LoadRunner中正确设置浏览器缓存对于获取真实用户行为的数据至关重要,因为这直接影响到测试结果的准确性。 浏览器缓存是Web浏览过程中的一个重要部分,它存储了用户访问过的网页资源,如图片、...
综上所述,浏览器缓存机制虽然有助于提高Web应用的性能,但在某些情况下也可能导致数据更新不及时等问题。对于使用Prototype.js或其他JavaScript库进行Ajax开发的开发者而言,了解并掌握如何规避浏览器缓存机制至关...
- **按 Enter 键**: 此时浏览器默认检查`Expires` 或 `Cache-Control` 字段,如果没有过期,则直接使用缓存数据。 - **按 F5 或刷新按钮**: 强制浏览器忽略本地缓存,并通过`max-age=0`字段向服务器验证资源是否被...
Chrome浏览器缓存查看工具是一款专为用户设计的实用软件,旨在帮助用户轻松访问和管理Google Chrome浏览器中的缓存数据。这个工具允许用户查看并分析在浏览网页时存储的各种资源,如图片、音频、视频和文档等。对于...
在web开发领域,浏览器缓存和数据压缩是提高网站性能、优化用户体验的重要技术手段。它们可以帮助减少服务器的负载、加快页面加载速度、节省带宽资源,从而在竞争激烈的互联网市场中提供更加流畅、快捷的服务。 ###...
本文将详细介绍如何通过在HTML页面的`<head>`标签中添加特定的元数据来实现清除浏览器缓存的功能。 #### 二、清除浏览器缓存的HTML方法 在HTML页面中可以通过插入特定的`<meta>`标签来控制浏览器的缓存行为。这些`...
【禁止浏览器缓存当前文档内容】 ...以上就是关于“禁止浏览器缓存当前文档内容”以及相关Web开发知识的详细介绍,希望对您有所帮助。在实际开发中,理解并正确运用这些技术可以提升用户体验并保障数据安全性。
本文将详细讲解浏览器缓存的工作原理,以及如何处理浏览器缓存问题。 首先,我们需要理解HTTP请求的基本流程。在TCP三次握手建立连接后,客户端通过HTTP请求获取服务器上的资源。浏览器会根据HTTP响应头中的Cache-...
Chrome浏览器缓存提取工具是一...总的来说,`chromecacheview`是一个强大的辅助工具,帮助用户轻松管理和提取Chrome浏览器中的缓存数据,使得原本复杂的过程变得简单易行。无论是普通用户还是专业人士,都能从中受益。
这样每次请求的URL都是唯一的,浏览器将识别为不同的请求,因此不会使用旧的缓存数据。 5. 后端脚本清除缓存 除了前端技术外,后端脚本也可以用来控制浏览器缓存。以PHP为例,可以在响应的头部添加“header("Cache-...
综上所述,浏览器缓存问题的解决需要综合考虑多个方面,包括但不限于HTTP缓存策略的合理设置、缓存污染的预防、个性化内容的安全处理、磁盘空间的有效管理和跨域资源共享的安全控制。通过上述措施的应用,可以有效...
为了避免由于浏览器缓存导致的开发过程中出现的问题,开发人员需要确保每次修改文件后都能立即看到效果。此时就需要使用方法来清除浏览器的缓存。 ### 使用`jQuery.ajaxSetup({cache:false})`清除缓存 #### 代码...
ChromeCache.sln文件包含了项目的配置信息,而ChromeCache.suo则记录了用户的个性化设置,如断点、窗口位置等,它们并非直接用于处理浏览器缓存。 然而,"ChromeCache"通常指的是Chrome的磁盘缓存文件夹,位于用户...
另外,服务器端响应里设置过期时间也可以用于缓存数据。例如,可以使用Response.Cache.SetExpires方法来设置过期时间,该条目在客户端将依据过期时间被缓存。 ASP.NET MVC中使用jQuery时的浏览器缓存问题详解可以...
通过使用这款工具,用户无需具备高级的技术知识,就能简单地查看和提取Chrome的缓存数据。例如,如果你是一个网站开发者,可能需要检查某个网页在用户端的加载情况,或者查找丢失的资源,这个工具就提供了方便。 该...
在Java开发中,浏览器缓存是一个常见的问题,特别是在动态网页应用中,如JSP。当用户更新了页面上的内容,...在实际项目中,开发者应根据具体需求选择合适的方法来管理浏览器缓存,确保用户体验的顺畅和数据的一致性。
然而,由于浏览器缓存机制的存在,有时会遇到旧的数据被加载,导致应用表现异常。本文将深入探讨如何在AngularJS中有效地清除浏览器缓存,确保用户始终获取最新的数据。 首先,理解浏览器缓存的基本原理是至关重要...
4. **导出功能**:ChromeCacheView支持将缓存信息导出为CSV、TAB-delimited、XML或HTML格式的文件,方便进一步的数据处理和分析。 5. **搜索功能**:用户可以通过关键词搜索特定的缓存文件,快速定位到感兴趣的信息...
### 浏览器缓存机制介绍与缓存策略剖析 浏览器缓存是前端性能优化的一个重要组成部分,其可以减少网络IO消耗,提高访问速度。浏览器缓存的机制可以分为四个方面:MemoryCache、ServiceWorkerCache、HTTPCache和...
本文将深入解析浏览器缓存的工作原理、类型、以及如何控制和利用缓存来优化网站性能。 一、浏览器缓存的原理 浏览器缓存(Browser Cache)是一种本地存储机制,它会保存用户访问过的网页资源(如HTML、CSS、...