如何在浏览器中触发另存为对话框,以便可以在内存中保存 json 数据

How to trigger a save as dialog in the browser to so that in memory json data can be saved?

本文关键字:内存 保存 数据 json 对话框 浏览器 另存为      更新时间:2023-09-26

就像标题说的那样,我需要将json保存在内存数据中。我希望能够从某个 dom 对象上的 onlick 事件触发它。

我想将数据保存在用户计算机上,就像他们正在下载此文件一样。另存为文本很好。

没有可与之通信的服务器。

更新:

http://jsfiddle.net/adouga/GpcAt/1/

我正在得到

TypeError: cyclic object value var json1 = JSON.stringify(mydata);

更新:发生循环错误是因为 fullcalendar 对象具有自己的自定义属性和嵌套对象。所以我遍历返回的对象数组,并仅将带有我的属性的对象复制到另一个可以很好地字符串化的数组

http://jsfiddle.net/adouga/GpcAt/2/

我认为这可能会起到复制到剪贴板的作用。

http://www.steamdev.com/zclip/

要在浏览器中保存,您只需使用localStorage即可。要将 json 作为文本提供,您可以使用 HTML5 文件 API 进行操作。检查此讨论:使用 JS 和 html5 从字符串创建文本文件