2011-08-18 73 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作为内容类型,将工作。您需要配置您的网络服务器才能这样做。