首頁 > web前端 > js教程 > 主體

JavaScript的客戶端存儲

伊谢尔伦
發布: 2016-11-21 13:38:15
原創
1138 人瀏覽過

 一、前言:

  客戶端儲存其實就是Web瀏覽器的記憶功能,透過瀏覽器的API實作資料儲存到硬碟;

  二、儲存的不同形式:

 》。 二、儲存的不同形式:

  〕網路」代表同一個Storage物件--持久化的索引為字串,值也是字串的陣列;

  兩者出來對儲存的有效期和作用域不同,其他基本通用;且作用域都是文檔來源層級的,不能跨網域存取;

  localStorage : 儲存的資料是永久性的,同源的文件間共用資料;可以讀取或覆寫資料;但是受瀏覽器限制;

  sessionStorage :作用域限制在視窗或標籤頁,標籤頁關閉後會刪除所有資料;

  兩者都可以當做普通js物件使用,透過.key或[key]去設定和取得數據,新的瀏覽器也提供了正式的API:

  setItem ():設定對應的名稱和值,形如localStorage.setItem("x",1);

  getItem(): 傳入名稱取得對應的值,形如:localStorage.getItem("x");

  removeItem():傳入名稱,刪除對應資料; clear():清空所有儲存的資料;

  key() :與length聯合使用枚舉所有名稱:for(var i=0;i 

〜㟀cookie: cookie資料會自動在網頁瀏覽器和網頁伺服器之間傳輸,因此伺服器腳本可以讀寫儲存在客戶端的cookie值;

  cookie的限制:每個網路伺服器儲存的cookie不能超過20個,每個cookie儲存的資料不能超過4kb;


//保存cookie:
function setCookie(name,value){
    //对value值进行表面,转义分号,逗号和空白符;
    var cookie = name+""+encodeURIComponent(value);
    cookie += "; max-age="+3000;//设置有效期 毫秒数;
    cookie += ";path=/";        //设置作用域路径
    cookie += ";domain="+domain;//作用域域名 只能是当前服务器的域;
    cookie += "; secure"; //设置此属性,则只有通过HTTPS或其他安全协议连接是才能传递cookie;
    
    document.cookie = cookie; //保存
}
//改变与删除cookie都要使用相同的名字、路径和域; 改变时,值设为新的; 删除时,设置max-age=0;
//读取所有cookie值
function getCookie(){
    var cookies = {};
    var all = document.cookie;
    if(all === ""){
        return cookies;
    }
    var list = all.split("; ");
    for(var i in list){
        var cookie = list[i];
        var p = cookie.indexOf("=");
        cookies[cookie.substring(0,p)] = decodeURLComponent(cookie.substring(p+1));
    }
    return cookies;
}     
登入後複製


   3、客戶端資料庫(html5):IndexedDB:一個物件資料庫;Chrome和FireFox新版本支援;

  4、檔案系統(HTML5): 可以操作本機檔案系統(HTML5): 作業本進行讀寫檔案和目錄的操作; 目前只有Chrome新版本的瀏覽器實現了;

🎜🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!