localStorage 杂记
localStorage
html5标准 Web 存储
现在的主流浏览器,包括IE 8+、Chrome 4+、Firefox 3.5+、Opera 10.5+、Safari 4+、iPhone 2+、Android 2+等,都支持localStorage本地存储功能。
localStorage没有时间上的限制,只要不主动删除,会一直保存。
单条value没有长度限制,但是每个站点使用总量有限制。
chrome的上限是4.9MB,其它浏览器的容量上限也大都在2.5-10MB之间。
检测浏览器是否支持localStorage
function check_localStorage_support()
{
if(window.localStorage){
return true;
} alert("Sorry,your browser does NOT support localStorage!");
return false;
}
localStorage 基于键值对存储,读、写、删操作很简单
localStorage.a = 3; //设置a为"3"
localStorage["a"] = "abc"; //设置a为"abc",也覆盖了上面的值
var a1 = localStorage["a"]; //获取a的值
var a2 = localStorage.a; //获取a的值
console.log(a1 + "\t" + a2); localStorage.setItem("b","I am b"); //设置b为"I am b"
var b = localStorage.getItem("b"); //获取b的值
console.log(b);
localStorage.removeItem("b"); //清除b的值
console.log(localStorage.getItem("b")); //输出所有键值对
function showStorage(){
var storage = window.localStorage;
for(var i=0;i<storage.length;i++){
//key(i)获得相应的键,再用getItem()方法获得对应的值
document.write(storage.key(i)+ " : " + storage.getItem(storage.key(i)) + "<br>");
}
} //清除所有键值对
localStorage.clear();
添加监听事件(本页面更新不会触发,其它页面更新时才会触发事件)
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;}
//showStorage();
}
| 属性 | 类型 | 说明 |
| key | string | 增加、删除或者修改的那个键 |
| oldValue | any | 改写之前的旧值,如果是新增的元素,则是 null |
| newValue | any | 改写之后的新值,如果是删除的元素,则是 null |
| url | string | 触发这个改变事件的页面 URL |
从localStorage读取一个对象
var chapter = JSON.parse(localStorage.getItem(chapterid));
使用Jquery Ajax 获取一个json并存入localStorage
$.getJSON("/worker/json/"+Chapterid+".json",function(result){
localStorage.setItem(chapterid,JSON.stringify(result));
});
php生成json的代码
class chapter_data {
public $serialid = 0;
public $serialtitle = "";
public $serialcontent = "";
}
$chapter = new chapter_data();
$chapter->serialid = 1;
$chapter->serialtitle = "文章标题";
$chapter->serialcontent = "文章内容";
echo json_encode($chapter);
localStorage 杂记的更多相关文章
- HTML5 localStorage本地存储
介绍 localStorage(本地存储)的使用方式.包括对存储对象的添加.修改.删除.事件触发等操作. 目录 1. 介绍 1.1 说明 1.2 特点 1.3 浏览器最小版本支持 1.4 适合场景 2 ...
- 似懂非懂的localStorage和sessionStorage
一.区别 相信很多人都见过这两个关于HTML5的新名词!HTML5种的web storage包含两种存储方式:localStorage和sessionStorage,这两种方式存储的数据不会自动发给服 ...
- 将css和js缓存到localStorage缓存,提高网页响应速度
适用于小站点,这很极致,很快速~~ /** * Created by SevenNight on 2016/9/21 0021. * 插件功能:使用localStorage缓存js和css文件,减少h ...
- cookies,sessionStorage和localStorage的区别---web前端sessionStorage和localStorage区别
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁.因此sessionStorage不是一种持久化的本地 ...
- sessionStorage 和 localStorage 、cookie
sessionStorage 和 localStorage html5中web storage包括两种储存方式:sessionStorage 和 localStorage sessionStorage ...
- 浏览器对localstorage的支持情况以及localstorage在saas系统中的应用实践思考
首先,还是要说,任何一种新特性的引入,通常有着其特有的场景和解决的目标需求,localstorage也一样.在我们的应用场景中,主要在金融业务服务的saas系统.其中涉及很多更改频率很多的元数据的客户 ...
- 初识html5的localStorage本地存储
一.概述 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是 ...
- HTML5本地存储Localstorage
什么是localstorage 前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面传递参数,但没有考虑过cookie会带来什么问题: ① cookie大 ...
- [Erlang 0118] Erlang 杂记 V
我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下. 做笔记 一开始笔记软件做的不好的时候就发邮件给自己, ...
随机推荐
- Django基础之form表单
1. form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时, 我们在好多场景下都需要对用户的输入做校验, 比如 ...
- HTTP第八、九章之网关、隧道、web机器人
网关 网关(gateway): 资源和应用程序之间的粘合剂.应用程序可以(通过HTTP或其它已定义的接口)请求网关来处理某条请求,网关可以提供一条响应.网关可以向数据库发送查询语句,或者生成动态的内容 ...
- break语句与continue语句
break:终止该层循环: continue:跳过该层循环 注: ①:若这两个语句离开应用范围,存在是没有意义的. ②:这个两个语句后面都不能有语句,因为执行不到. ③:continue语句是跳过本次 ...
- matplotlib:plt.rcParams设置画图的分辨率,大小等信息
主要作用是设置画的图的分辨率,大小等信息 plt.rcParams['figure.figsize'] = (8.0, 4.0) # 设置figure_size尺寸 plt.rcParams['ima ...
- ajax设置头信息,读取头信息
一.设置头信息 jQuery function GetDateForServiceCustomer(userId) { $.ajax({ url: 'http://*******/api/orders ...
- 使用Jsp +Js + Jquery + EasyUI + Servlet + Lucene,完成分页
步一:创建ArticleDao.java类 public class ArticleDao { public Integer getAllObjectNum(String keywords) thro ...
- 解决docker命令行终端显示不全的问题
访问docker容器,vim编辑文件时总是无法展示文件内容 解决 sudo docker exec -it -e LINES=$(tput lines) -e COLUMNS=$(tput cols) ...
- iOS 隐藏导航栏后,UITableView向下偏移状态栏高度
if (@available(iOS 11.0, *)) { self.mainTableView.contentInsetAdjustmentBehavior = UIScrollViewConte ...
- Qt编写自定义控件16-魔法老鼠
前言 五一期间一直忙着大屏电子看板软件的开发,没有再去整理控件,今天已经将大屏电子看板的所有子窗口都实现了任意停靠和双击独立再次双击最大化等功能,过阵子有空再写一篇文章介绍其中的技术点.魔法老鼠控件, ...
- [CDH] New project for ML pipeline
启动后台服务: [CDH] Cloudera's Distribution including Apache Hadoop 这里只介绍一些基本的流程,具体操作还是需要实践代码. 一.开发环境配置 JD ...