2011-08-18 69 views
0

我有一個只在本地機器上運行的網頁,只需JavaScript和HTML5 localstorage(不需要Web服務器)。我已經have the method用於僅使用JavaScript將JSON /純文本文件上傳到網頁,並將其轉換爲JavaScript對象,以便我的網頁可以使用它。現在我只需要一種方法將對象導出回JSON文本,然後讓用戶只使用純JavaScript/HTML保存/備份數據。僅使用JavaScript/jQuery在網頁上下載JSON文本文件

好了,所以示例代碼迄今:

var obj = { 
    id: 24, 
    name: 'Jack Bauer' 
}; 
var jsonText = JSON.stringify(obj); 

現在假設有一個按鈕,說導出/備份,我該如何讓用戶認爲jsonText保存爲只使用的JavaScript/HTML自己的硬盤上的文件?

非常感謝!

回答

1

很確定你不能這樣做。命令document.execCommand('saveas',blah,blah)會保存當前的網頁(不是你用javascript指定的內容),除此之外,沒有辦法將javascript保存爲javascript。

其他一些選項:

  • 使用localStorage的
  • 使用Cookie
  • 顯示在一個文本/提示對話框的/ etc jsontext,並要求用戶 將其複製並保存到某個地方(呸!)
  • 發送jsontext到(例如)一個php服務器,添加一個內容處置 標題來顯示另存爲對話框。
0

我認爲,如果你所服務的文件,application/octet-stream作爲內容類型,將工作。您需要配置您的網絡服務器才能這樣做。