亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS中LocalStorage與SessionStorage五種循序漸進的使用方法

2019-11-19 16:06:17
字體:
來源:轉載
供稿:網友

localStorage和sessionStorage一樣都是用來存儲客戶端臨時信息的對象。

他們均只能存儲字符串類型的對象(雖然規范中可以存儲其他原生類型的對象,但是目前為止沒有瀏覽器對其進行實現)。

localStorage生命周期是永久,這意味著除非用戶顯示在瀏覽器提供的UI上清除localStorage信息,否則這些信息將永遠存在。

sessionStorage生命周期為當前窗口或標簽頁,一旦窗口或標簽頁被永久關閉了,那么所有通過sessionStorage存儲的數據也就被清空了。

不同瀏覽器無法共享localStorage或sessionStorage中的信息。相同瀏覽器的不同頁面間可以共享相同的localStorage(頁面屬于相同域名和端口),但是不同頁面或標簽頁間無法共享sessionStorage的信息。這里需要注意的是,頁面及標簽頁僅指頂級窗口,如果一個標簽頁包含多個iframe標簽且他們屬于同源頁面,那么他們之間是可以共享sessionStorage的。

需求:本地記錄用戶上次輸入的內容

使用關鍵技術:localStorage

第一步:使用jQuery的普通寫法

1、JS代碼

// 獲取window的localStorage對象var localS = window.localStorage;// 獲取localStorage的值var getV = localS.getItem("value0"), getV2 = localS.getItem("value1");// 把獲取到的值賦給對應的input$(".value0").val(getV);$(".value1").val(getV2);// 鍵盤按鍵彈起就設置localStorage的值$(document).on("keyup",function(){ // 一個輸入框對應一個value值 var va = $(".value0").val(),  va2 = $(".value1").val(); // 有多少個就設置setItem多少個 localS.setItem("value0",va); localS.setItem("value1",va2);});

2、效果圖

3、額額...可以用,不過,問題來了,這JS代碼寫的...有點亂啊,后期不好維護啊有木有!怎么辦??有什么辦法可以解決??

第二步:使用JS函數方法來寫

1、JS代碼

// 所用到的變量統一寫在一起var va,va2,getV,getV2;// 設置localStorage方法function localSet(){ va = $(".value0").val(), va2 = $(".value1").val(); localStorage.setItem("value0",va); localStorage.setItem("value1",va2);};// 獲取localStorage方法function localGet(){ getV = localStorage.getItem("value0"), getV2 = localStorage.getItem("value1"); $(".value0").val(getV); $(".value1").val(getV2);}// 鍵盤按鍵彈起就設置localStorage的值$(document).on('keyup',function(){ localSet();});// 頁面一加載就調用設置localStorage的方法localGet();

2、效果圖

3、嗯嗯...改為函數就很容易知道哪個是設置哪個是獲取localStorage了,還可以。不過,問題來了,我不想用函數,我要用面向對象寫法,怎么辦??

第三步:JS面向對象的寫法

1、JS代碼

// 所用到的變量統一寫在一起var va,va2,getV,getV2;var localObj = { // 設置localStorage方法 localSet : function(){  va = $(".value0").val(),  va2 = $(".value1").val();  localStorage.setItem("value0",va);  localStorage.setItem("value1",va2); }, // 獲取localStorage方法 localGet : function(){  getV = localStorage.getItem("value0"),  getV2 = localStorage.getItem("value1");  $(".value0").val(getV);  $(".value1").val(getV2); }}$(document).on('keyup',function(){ localObj.localSet();});// 頁面一加載就調用設置localStorage的方法localObj.localGet();

2、效果圖

3、哈哈...改了一下就好了,還蠻簡單的嘛!不過,問題來了,如果有很多個input框需要記錄,那豈不是得寫很多代碼?能不能循環處理一下??

第四步:使用for循環的寫法

1、JS代碼

var localObj = { // 設置localStorage方法 localSet : function(){  // 我這里測試用的,所以直接選中所有的input長度,實際使用換成相同類名即可  for (var i = 0; i < $("input").length; i++) {   // 這里要注意,所有的localStorage的key都要相同,只是數字不同而已   localStorage.setItem("value"+i,$(".value"+i).val());  } }, // 獲取localStorage方法 localGet : function(){  for (var i = 0; i < $("input").length; i++) {   // 獲取對應的key值,因為這里使用的是value+數字,所以直接這樣獲取即可   $(".value"+i).val(localStorage.getItem("value"+i));  } }}$(document).on('keyup',function(){ localObj.localSet();});localObj.localGet();

2、效果圖

3、呦呦...想加多少個,就加多少個value,還不錯呦,代碼又比較簡潔。不過,問題又來了。我不想一直使用類名value+數字,我已經有寫好了的類名了,我想用什么名字就用什么名字,而且不想弄一大堆localStorage,難道有100個input,就要我弄100個localStorage??我就想弄一個localStorage記錄就好。怎么辦??

第五步:使用json來存放localStorage

1、JS代碼

var localObj = { localSet: function(){  // 定一個對象,來存放鍵值對  var arr = {};   // 有多少個值,就對應寫多少個,名字可隨便命名   arr.value0 = $(".value0").val();   arr.value1 = $(".value1").val();   arr.good = $(".good").val();   arr.go = $(".go").val();  // 將arr對象轉換為string類型  var his = JSON.stringify(arr);  // 設置一個localStorage名字叫histroy,值為his  localStorage.setItem("histroy",his); }, localGet: function(){  // 獲取一個叫histroy的localStorage,存放在arr變量中  var arr = localStorage.getItem("histroy");  // 把獲取來的arr轉換成json格式  var json = JSON.parse(arr);  // 遍歷Json中的數據  for (var li in json) {   // 由json字符串轉換為json對象   var value = eval("json['" + li +"']");   // 把取到的對應的value值賦值給對應的li   arr.li = value;   // 最后一步,顯示對應的value值   $("."+li).val(value);  } }}// 鍵盤按鍵彈起的時候改變localStorage的值$(document).on('keyup',function(){ localObj.localSet();});// 瀏覽器一打開就顯示存儲在localStorage里面的值// 即記錄上次輸入的值localObj.localGet();

2、效果圖

3、哇~,不錯不錯,到第五步,基本就已經解決了我們的需求了,不過(TMD還有問題?)哈哈哈哈。。。

  1)假設不單單是input要記錄上次輸入內容,復選框CheckBox也要記錄是否上次被選中的問題,怎么解決??

  2) 百度翻譯使用的是多個數組來存放多個內容,怎么弄??

 

最后:如果使用sessionStorage,直接把localStorage替換成sessionStorage就好了,其它的一模一樣?。?!

以上所述是小編給大家介紹的JS中LocalStorage與SessionStorage五種循序漸進的使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美中文在线字幕| 国产亚洲美女精品久久久| 欧美日韩中文在线观看| 欧美制服第一页| 日韩欧美aaa| 欧美亚洲在线观看| 黑丝美女久久久| 成人乱色短篇合集| 亚洲人成网站777色婷婷| 久久精品99国产精品酒店日本| 精品美女国产在线| 狠狠综合久久av一区二区小说| 亚洲成人精品视频| 91免费欧美精品| 日韩影视在线观看| 97热在线精品视频在线观看| 欧美综合国产精品久久丁香| 中文字幕日韩视频| 在线成人一区二区| 亚洲在线观看视频| 国产精品亚洲激情| 国产suv精品一区二区三区88区| 精品色蜜蜜精品视频在线观看| 欧美老女人性视频| 国产999视频| 91精品国产综合久久香蕉最新版| 91青草视频久久| 欧美福利视频在线观看| 亚洲精品午夜精品| 91av免费观看91av精品在线| 亚洲欧洲在线视频| 97成人精品区在线播放| 91在线|亚洲| 性色av一区二区三区红粉影视| 欧美日本精品在线| 久久久久久久久中文字幕| www.日韩不卡电影av| 秋霞成人午夜鲁丝一区二区三区| 日韩精品视频免费专区在线播放| 国产亚洲视频在线观看| 午夜免费在线观看精品视频| 国产综合视频在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品夜色7777狼人| 亚洲成人aaa| 欧洲亚洲免费视频| 久久成人精品视频| 啊v视频在线一区二区三区| 欧美中文字幕第一页| 国产福利视频一区| 成人久久18免费网站图片| 日韩中文字幕在线视频| 欧美成年人在线观看| 91精品国产精品| 国产精品一区二区三区成人| 国产精品久久精品| 国产欧美精品一区二区三区介绍| 国产va免费精品高清在线| 亚洲一区二区三区视频| 亚洲精品v天堂中文字幕| 亚洲欧美中文日韩在线| 亚州欧美日韩中文视频| 亚洲专区国产精品| 久久精品夜夜夜夜夜久久| 久久99亚洲热视| 精品久久久久久久久久久久久久| 亚洲free性xxxx护士白浆| 97人洗澡人人免费公开视频碰碰碰| 日韩欧美在线中文字幕| 精品福利一区二区| 最近2019年手机中文字幕| 国产婷婷97碰碰久久人人蜜臀| 亚洲欧美一区二区三区四区| 欧美激情一二三| 欧美一区三区三区高中清蜜桃| 欧美激情视频在线免费观看 欧美视频免费一| 欧美一级片久久久久久久| 日韩福利伦理影院免费| 国产精品视频免费在线观看| 亚洲精品自在久久| 最近2019年日本中文免费字幕| 欧美另类极品videosbest最新版本| 国产精品夫妻激情| 欧美精品videosex性欧美| 久久久久九九九九| 欧美激情一区二区三区在线视频观看| 久久九九亚洲综合| 日本成人在线视频网址| 欧美激情一级精品国产| 深夜精品寂寞黄网站在线观看| 亚洲国产精彩中文乱码av在线播放| 中文字幕亚洲字幕| 亚洲人成77777在线观看网| 久久精品视频网站| 5566成人精品视频免费| 亲爱的老师9免费观看全集电视剧| 国产玖玖精品视频| 日韩免费不卡av| 亚洲free性xxxx护士白浆| 欧美电影在线观看网站| 国产亚洲欧洲高清一区| 最近2019中文字幕mv免费看| 国产欧美一区二区三区久久人妖| 在线观看国产精品91| y97精品国产97久久久久久| 一本久久综合亚洲鲁鲁| 欧美日韩另类视频| 不卡av电影院| 亚洲自拍欧美另类| 久久久久一本一区二区青青蜜月| 精品露脸国产偷人在视频| 久久久亚洲欧洲日产国码aⅴ| 538国产精品一区二区在线| 欧美亚洲激情在线| 2019中文字幕在线免费观看| 日韩av一卡二卡| 精品色蜜蜜精品视频在线观看| 精品小视频在线| 日韩精品中文字幕在线播放| 日韩中文字幕视频在线观看| 欧洲美女7788成人免费视频| 亚洲精品国产精品自产a区红杏吧| 久久视频在线观看免费| 久久久久久久久国产精品| 日韩欧美一区二区三区久久| 黑人巨大精品欧美一区二区三区| 亚洲最新视频在线| 国产精品96久久久久久| 久久久久九九九九| 国产欧洲精品视频| 中文字幕综合一区| 国产成人aa精品一区在线播放| 欧美精品精品精品精品免费| 久久色免费在线视频| 国产不卡在线观看| 91精品国产91久久| www.国产精品一二区| 成人h片在线播放免费网站| 国产精品免费一区二区三区都可以| 色妞色视频一区二区三区四区| 久久久久久久久久国产精品| 精品精品国产国产自在线| 成人在线激情视频| 欧美日本黄视频| 亚洲无限乱码一二三四麻| 欧美午夜性色大片在线观看| 久久久久久尹人网香蕉| 欧美国产第二页| 91久久久久久久久| 精品久久中文字幕久久av| 奇米四色中文综合久久| 亚洲免费av片| 亚洲免费一在线| 大胆欧美人体视频| 精品久久香蕉国产线看观看gif| 久久伊人免费视频| 欧美电影在线观看高清| 亚洲va欧美va国产综合久久| 亚洲精品动漫久久久久| 欧美精品精品精品精品免费| 亚洲欧美日韩天堂一区二区| 成人国产在线视频| 国产91露脸中文字幕在线| 丝袜美腿精品国产二区|