クッキーとlocalStorageのこと


一、localStorage、cookie、sessionStorageの違いと練習
1、クッキークッキー.その大きさは4 KB程度に制限され、ネットビュー会社の元従業員Lou Montulliが1993年3月に発明した.その主な用途は、あるウェブサイト市場にログインして「パスワードを覚える」ことができるなど、ログイン情報を保存することです.これは、通常、Cookieにユーザーのアイデンティティを識別するデータを格納することによって実現されます.a、ライフサイクル:通常はブラウザを閉じる時間です.閉じた後でも開けたい場合は、クッキーに失効時間を設定できます
//    cookie 
document.cookie = "name=value;expires=date;path=path;domain=domain; secure"//path  ;domain     ;**secure**  http  https    (           )
 document.cookie  = 'username=Darren'//'username'   cookie   ,'Darren'          。   cookie       ,           cookie;            cookie       。
//cookie            Document    cookie   ;(from w3cschool)
function getCookie(c_name){
    if (document.cookie.length>0){  //   cookie    ,   return ""
        c_start=document.cookie.indexOf(c_name + "=")  //  String   indexOf()     cookie    ,      -1  
        if (c_start!=-1){ 
           c_start=c_start + c_name.length+1  //    +1     "="  ,       cookie      
           c_end=document.cookie.indexOf(";",c_start)//indexOf()                 ...          。             ,    ";"        
            if (c_end==-1) 
            c_end=document.cookie.length;  
            return unescape(document.cookie.substring(c_start,c_end))//  substring()    。   unescape()    escape()     ,        ,         ,            cookie    
            //substring(indexStart[, indexEnd])                        ,                    。indexStart[, indexEnd]
           //escape()     
} 
    }
return ""
}  
//  expires    cookie     。    :
 document.cookie = "name=value;expires=date"//data:GMT(      )         
 var _date = new Date();
 _date.setDate(_date.getDate()+30);//30    30    
 _date.toGMTString();
 //    
  function setCookie(c_name, value, expiredays){
  var exdate=new Date();
  exdate.setDate(exdate.getDate() + expiredays);
  document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" :";expires="+exdate.toGMTString());
  }
  //    
  setCookie('username','changlin',30)  
  
  

クッキー情報を入力する際には、スペース、セミコロン、カンマなどの特殊な記号を含めることはできませんが、一般的には、クッキー情報の記憶は符号化されていない方式を採用しています.したがって,クッキー情報を設定する前にescape()関数を用いてクッキー値情報を符号化し,クッキー値を取得したときにunescape()関数を用いて値を変換する.クッキーを設定する場合:
  document.cookie = name + "="+ escape (value)
基本的な使い方で言及したgetCookie()の中の一言を見てみましょう.
return unescape(document.cookie.substring(c_start,c_end))

これにより、クッキー値に特殊な記号が現れたため、クッキー情報がエラーになる心配はありません.2、sessionStorageおよびlocalStorageの使用localStorageおよびsessionStorageプロパティを使用すると、key/valueペアのデータをブラウザに格納できます.sessionStorageは、同じウィンドウ(またはラベルページ)のデータを一時的に保存し、ウィンドウまたはラベルページを閉じると削除します.locationは常にローカルに存在します.sessionStorageは、ブラウザが閉じたらすぐにクリアします.localStorageの限界:1、ブラウザのサイズが統一されておらず、IE 8以上のIEバージョンでlocalStorageという属性をサポートしている2、現在のすべてのブラウザではlocalStorageの値タイプをstringタイプに限定している.これは私たちが日常的によく見ているJSONイメージタイプにいくつかの変換が必要である3、localStorageはブラウザのプライバシーモードの下では読み取れない4、localStorageは本質的に文字列の読み取りであり、記憶内容が多いとメモリスペースが消費され、ページがカード5に変化し、localStorageが爬虫類に捕まえられない6、cookieに比べて帯域幅を節約できるが、これは高バージョンのブラウザでしかサポートされていない
//  
var  students = {
    xiaomin: {
    name: "xiaoming",
    grade: 1
    },
teemo: {
    name: "teemo",
    grade: 3
  }
}
students = JSON.stringify(students); // JSON          
console.log(students);
localStorage.setItem("students",students);//     localStorage 
var newStudents = localStorage.getItem("students");
newStudents = JSON.parse(students); //  JSON
console.log(newStudents); //            

共通API