<thead id="dlkbl"></thead>
    <sub id="dlkbl"><del id="dlkbl"></del></sub>

  • <thead id="dlkbl"><del id="dlkbl"></del></thead>
      <blockquote id="dlkbl"><del id="dlkbl"><legend id="dlkbl"></legend></del></blockquote>

      HTML5 使用localstorage 本地存储

      HTML 本地存储介绍

      最早的 Cookies 自然是大家都知道,问题主要就是太小,大概也就 4KB 的样子,而且 IE6 只支持每个域名20个cookies,太少了。优势就是大家都支持,而且支持得还蛮好。很早以前那些禁用 cookies 的用户也都慢慢的不存在了,就好像以前禁用 javascript 的用户不存在了一样。 userData 是 IE 的东西,垃圾。现在用的最多的是 Flash 吧,空间是 Cookie 的25倍,基本够用。再之后 Google 推出了 Gears,虽然没有限制,但不爽的地方就是要装额外的插件(没具体研究过)。到了 HTML 5把这些都统一了,官方建议是每个网站 5MB,非常大了,就存些字符串,足够了。比较诡异的是居然所有支持的浏览器目前都采用的 5MB,尽管有一些浏览器可以让用户设置,但对于网页制作者来说,目前的形势就 5MB 来考虑是比较妥当的。 支持的情况如上图,IE 在 8.0 的时候就支持了,非常出人意料。不过需要注意的是,IE、Firefox 测试的时候需要把文件上传到服务器上(或者 localhost),直接点开本地的 HTML 文件,是不行的。

      HTML5 localStorage 操作使用

      首先自然是检测浏览器是否支持本地存储。在 HTML5 中,本地存储是一个 window 的属性,包括 localStorage 和 sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着 session,窗口一旦关闭就没了。二者 用法完全相同。这里以localStorage为例。

      1 if(window.localStorage){ 
      2     alert(‘浏览器支持本地存储!‘); 
      3 }else{
      4     alert(‘浏览器不支持本地存储!‘); 
      5 }

      三种设置本地存储的方法存储数据的方法就是直接给window.localStorage添加一个属性。 例如:localStorage.a 或者 localStorage["a"]。它的读取、写、删除操作方法很简单,是以键值对的方式存在的。

      • localStorage.a = "iwanc";
      • localStorage["b"] = "HTML5";
      • localStorage.setItem("c","Jquery");

      三种访问本地存储的方法

      • localStorage.a;
      • localStorage["b"];
      • localStorage.getItem("c");

      其他扩展

      • localStorage.removeItem();   //清除
      • localStorage.clear();              //清除所有
      • localStorage.length;             //获得多少键
      • localStorage.key();               //获得存储的键内容
      • localStorage.getItem(localStorage.key(0))

      这里最推荐使用的自然是 getItem() 和 setItem(),清除键值对使用 removeItem()。如果希望一次性清除所有的键值对,可以使用 clear()。另外,HTML5还提供了一个key()方法,可以在不知道有哪些键值的时候使用,如下:

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

       

      写一个最简单的,利用本地存储的计数器:

      $(function(){
      var storage = window.localStorage;
      if (!storage.getItem("pageLoadCount")) storage.setItem("pageLoadCount",0);
      storage.pageLoadCount = parseInt(storage.getItem("pageLoadCount")) + 1;//必须格式转换
      $("#count").html("最简单的本地存储的计数器:您一共浏览了 "+storage.pageLoadCount+" 次。");
      })

       

      需要注意的是,HTML5 本地存储只能存字符串,任何格式存储的时候都会被自动转为字符串,所以读取的时候,需要自己进行类型的转换。这也就是上一段代码中 parseInt 必须要使用的原因。 在 iPhone/iPad 上有时设置setItem()时会出现诡异的 QUOTA_EXCEEDED_ERR 错误,这时一般在 setItem 之前,先 removeItem() 就ok了。 另外,目前 javascript 使用非常多的 json 格式,如果希望存储在本地,可以直接调用 JSON.stringify() 将其转为字符串。读取出来后调用 JSON.parse() 将字符串转为 json 格式,如下所示:

       

      1 var details = {author:"iwanc","description":"HTML5","rating":100};
      2 storage.setItem("details",JSON.stringify(details));
      3 details = JSON.parse(storage.getItem("details"));
      JSON 对象在支持 localStorage 的浏览器上基本都支持,需要注意的是IE8,它支持 JSON,但如果添加了兼容模式代码(<meta content="IE=7" http-equiv="X-UA-Compatible"/>),切换到 IE7 模式就不行了(此时依然支持localStorage,虽然显示 window.localStorage 是 [object],而不是之前的 [object Storage],但测试发现 getItem()、setItem() 等均能使用)。
      相关文章
      相关标签/搜索
      4887王中王鉄算盘开奖结 渝中区| 寿阳县| 兴和县| 天津市| 兰考县| 大埔区| 银川市| 广灵县| 南陵县| 聂荣县| 绍兴县| 周宁县| 无棣县| 淅川县| 扬州市| 玉屏| 恭城| 萨嘎县| 张家界市| 怀远县| 津市市| 互助| 仙游县| 昌邑市| 县级市| 基隆市| 吉安县| 商都县| 和政县| 清新县| 江北区| 枣庄市| 临潭县| 双辽市| 镇平县| 鄂伦春自治旗| 本溪| 澳门| 鸡西市| 隆昌县| 饶平县| 兴山县| 庆安县| 广西| 卫辉市| 遂川县| 南宫市| 靖西县| 扎鲁特旗| 色达县| 克什克腾旗| 喀什市| 亚东县| 沙河市| 交城县| 同江市| 绥中县| 内丘县| 永寿县| 浏阳市| 浑源县| 浮梁县| 米林县| 林西县| 宿迁市| 枝江市| 冕宁县| 康马县| 大悟县| 三门峡市| 上林县| 万年县| 闽侯县| 保德县| 页游| 屏南县| 伊宁县| 全南县| 沐川县| 平谷区| 桓仁| 清涧县| 庄浪县| 卓尼县| 大同市| 黑龙江省| 土默特左旗| 建瓯市| 环江| 容城县| 沙洋县| 贺兰县| 太仆寺旗| 淮滨县| 长武县| 鸡西市| 仪征市| 德惠市| 历史| 苍溪县| 繁昌县| 青铜峡市| 珠海市| 鸡东县| 乃东县| 鞍山市| 寻乌县| 宽城| 衡阳市| 云安县| 青铜峡市| 桃园市| 昭通市| 钟山县| 东山县| 伽师县| 金溪县| 新营市| 新蔡县| 青河县| 伊川县| 佛山市| 若羌县| 阜新| 会泽县| 黎平县| 遵义市| 义马市| 红原县| 邵阳县| 呼伦贝尔市| 屏边| 乡城县| 汶上县| 伊吾县| 开封市| 肇庆市| 轮台县| 酒泉市| 久治县| 军事| 四平市| 宜兴市| 新竹市| 新化县| 商都县| 蓝田县| 平乡县| 廉江市| 称多县| 黑龙江省| 禄丰县| 赣榆县| 达孜县| 乐至县| 东乡族自治县| 柳州市| 光泽县| 海淀区| 贵定县| 扎兰屯市| 大同市| 绥德县| 瑞昌市| 尼玛县| 隆林| 镇平县| 富平县| 建昌县| 新密市| 平潭县| 绥化市| 台湾省| 连州市| 青田县| 宜良县| 婺源县| 嘉义县| 驻马店市| 通辽市| 苍山县| 吴川市| 紫金县| 灵丘县| 旌德县| 张家港市| 平江县| 新邵县| 巴林右旗| 通州市| 津南区| 陇南市| 开封县| 屏东县| 兰考县| 开远市| 闸北区| 郴州市| 民乐县| 偃师市| 光山县| 新野县| 象山县| 苏尼特右旗| 太谷县| 石家庄市| 广东省| 海伦市| 堆龙德庆县| 成武县| 江孜县| 安康市| 河曲县| 分宜县| 红桥区| 北安市| 柘城县| 平度市| 尉氏县| 明光市| 阿合奇县| 宣化县| 临高县| 峡江县| 恭城| 黔东| 定州市| 胶州市| 台江县| 彭阳县| 呼图壁县| 咸宁市| 民县| 长汀县| 铅山县| 台州市| 丹东市| 乌海市| 唐山市| 海原县| 常宁市| 察雅县| 新平| 茶陵县| 阿坝县| 台东市| 佳木斯市| 永寿县| 青铜峡市| 灵璧县| 舒兰市| 福安市| 开化县| 竹北市| 凤台县| 楚雄市| 徐汇区| 江油市| 抚顺县| 禄丰县| 磐安县| 杭州市| 丹阳市| 临泉县| 交城县| 安福县| 土默特左旗| 进贤县| 广灵县| 安顺市| 集安市| 名山县| 宁津县| 兴和县| 德钦县| 无锡市| 三台县| 蒙自县| 宾阳县| 忻城县| 夏津县| 闽侯县| 四子王旗| 衡阳县| 长武县| 郑州市| 独山县| 获嘉县| 高台县| 铜陵市| 道孚县| 忻州市| 朝阳市| 北安市| 祁门县| 溧水县| 米脂县| 许昌县| 德化县| 枣庄市| 海兴县| 日喀则市| 集贤县| 彭州市| 勃利县| 临夏县| 金乡县| 乌兰县| 长治市| 张家界市| 利川市| 阳山县| 兴文县| 铜鼓县| 赣榆县| 浑源县| 台北县| 甘谷县| 台前县| 无极县| 淮滨县| 清原| 河间市| 永春县| 乐安县| 武宣县| 东莞市| 泸溪县| 通山县| 通山县| 临澧县| 平舆县| 四子王旗| 咸宁市| 盘山县| 岳池县| 耿马| 高清| 诸暨市| 义马市| 定日县| 陈巴尔虎旗| 武城县| 临武县| 广元市| 平乐县| 云浮市| 监利县| 弋阳县| 马鞍山市| 宜州市| 邹平县| 太原市| 武威市| 泰州市| 海丰县| 台湾省| 开原市| 南京市| 长岭县| 苏州市| 丰镇市| 大石桥市| 鄂尔多斯市| 高尔夫| 宜宾县| 新田县| 如皋市| 潞西市| 临泉县| 青铜峡市| 临江市| 梧州市| 乌什县| 天祝| 花垣县| 阿瓦提县| 绿春县| 栾城县| 嘉善县| 商河县| 钟山县| 岐山县| 德江县| 崇左市| 岱山县| 芷江| 汾阳市| 申扎县| 平舆县| 金阳县| 武山县| 乐亭县| 兴化市| 黎川县| 阿瓦提县| 达尔| 沅江市| 安丘市| 四会市| 沂水县| 本溪市| 汾西县| 靖宇县| 共和县| 海淀区| 无棣县| 通渭县| 阜新市| 哈尔滨市| 龙泉市| 厦门市| 庐江县| 阳春市| 神农架林区| 成都市| 盐边县| 武宁县| 余姚市| 旅游| 太谷县| 博兴县| 咸阳市| 会理县| 林周县| 临西县| 滨海县| 苍梧县| 改则县| 峨山| 三江| 天柱县| 四川省| 英德市| 山阴县| 江川县| 临西县| 吉安市| 台中市| 易门县| 布尔津县| 土默特右旗| 迭部县| 胶州市| 博白县| 盐源县| 安龙县| 长宁县| 渭南市| 建水县| 乐陵市| 隆化县| 平原县| 根河市| 平安县| 桓台县| 甘肃省| 永修县| 霍山县| 博客| 桐庐县| 松阳县| 慈利县| 双流县| 蓝山县| 宜川县| 突泉县| 察雅县| 梓潼县| 杨浦区| 墨竹工卡县| 株洲县| 乌审旗| 疏勒县| 泸水县| 华容县| 高阳县| 宁阳县| 德庆县| 稻城县| 正安县| 芮城县| 彩票| 南岸区| 东阳市| 祁连县| 仁化县| 绥化市| 宝兴县| 盖州市| 古蔺县| 榕江县| 保定市| 孝昌县| 隆昌县| 和硕县| 冀州市| 台湾省| 凤台县| 溧水县| 当涂县| 青田县| 临海市| 德令哈市| 出国| 黄大仙区| 衡山县| 综艺| 团风县| 延庆县| http://3g.jp1860fearo.fun http://3g.jp1860presento.fun http://jp1860zineo.fun http://jp1860tizeo.fun http://www.jp1860carryo.fun http://www.jp1860considero.fun http://www.jp1860hopeo.fun http://www.jp1860fruito.fun http://www.jp1860frazeo.fun http://www.jp1860chanceo.fun http://www.jp1860aido.fun http://jp1860generalo.fun http://jp1860abuseo.fun http://bbs.jp1860generateo.fun http://bbs.jp1860networko.fun