javascript - document.write 和 JSON 输出

标签 javascript json

我有一些大的 json 配置并希望允许用户导出它们。问题是JS prompt 无法返回完整的数据,所以我决定使用windows.open 并写入。但“写”只是在 json 值中“吃”html。这个答案https://stackoverflow.com/a/22055706帮助很大。

var data = Store.export();
var url = 'data:text/json;charset=utf8,' + encodeURIComponent(data);
window.open(url, '_blank');
window.focus();

但是当我尝试导出又大又长的 json 时,一切都会卡住...... 我如何修改它以使用空白 url 和未修改的 json 作为文本?

UPD 我的解决方法

var myWindow = window.open("", "JSON Settings", '_blank');
myWindow.document.write('<textarea>' + escapeHTML(Store.export()) + '</textarea>');
myWindow.focus();

最佳答案

您可以包含一个多行文本字段,用于在其中放置数据。

这给了它一个运行的空间,而不仅仅是注入(inject)到 HTML 中。

然后,用户将数据复制并粘贴到自己的 .json 文件中。

关于javascript - document.write 和 JSON 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39100802/

相关文章:

javascript - 如何关闭visjs事件阴影框?

javascript - 模块化 JS 组件中的委托(delegate)模式

javascript - 如何在javascript数组中存储元素?

javascript - $ ('select option:selected' ).text() 和 Attr.specified 已弃用警告

javascript - json_parse 函数在 IE7 中运行速度非常慢

c# - 如何将 windows8 应用程序 c# 与 php api 连接

javascript - 折叠 JSON 字符串以在 header 变量中发送 - Mailgun

Mysql 5.7 json 列无法按预期工作

javascript - 查找元素是否存在于整个html页面中

iphone - JSON 值未保存到 iPhone 中的 SQLite 数据库