2010-09-02 96 views

回答

4

離線存儲是內部存儲。這並不意味着將某些文件導出到磁盤上的特定格式/特定文件夾。

2

您可以使用localstorage,但只允許您在瀏覽器的內部存儲上存儲某些內容(不能決定在何處以及如何寫入數據)。

還有一個文件API,但在它的早期階段和,現在,它不允許隨意存儲在客戶端上的文件:

HTML 5 File API

3

Web存儲API存儲數據作爲[鍵,值]對,其中兩個鍵,值都是字符串。

因此,任何格式的數據都需要堅持這種本地存儲機制。因此,舉例來說,如果你有一個像一個JSON對象:

{ 
    name:'John', 
    gender:'male' 
} 

你可以把它傳遞的是一個字符串等之後,存儲(通過JavaScript):

localStorage.setItem("myObj","{name:'John',gender:'male'}"); 

對於JSON對象,請使用JSON。 stringify()將它們轉換爲字符串並使用JSON.parse()將其讀回。

0

比方說您已經創建數組或對象這樣的。

var arrayOrObject = [{obj1:{name:John, age:16}},{obj2:{name:Jane, age:17}}]; 

您可以使用localStorage將此數據保存到本地設備。

if (typeof(localStorage) == 'undefined') { 
    alert('Your browser does not support HTML5 localStorage. Try upgrading.'); 
} 
else { 
    try {     
     localStorage.setItem("storedArrayOrObject", JSON.stringify(arrayOrObject)); 
          //saves to the database, 「key」, 「value」     
    } catch (e) { 
     if (e == QUOTA_EXCEEDED_ERR) { 
      alert('Quota exceeded!'); //data wasn’t successfully saved due to quota exceed so throw an error 
     } 
    } 
} 

要獲得的數據數組或對象結構:

var getStoredArrayOrObject = JSON.parse(localStorage.getItem('storedArrayOrObject'));` 

要刪除localStorage的數據:

localStorage.removeItem('storedArrayOrObject'); 

並不推薦這樣做,但可供選擇:

localStorage.clear();