我需要将图形保存到JSON文件。在此之前,我编写了一个非常简单的HTML / JavaScript对其进行测试(只需对JSON使用一个简单的字符串)。
基于Stack Overflow发布中的建议,我使用saveAs()方法。但看起来saveAs()无法正常工作,也没有创建文件。我正在使用Internet Explorer和Window 10。
为了调试它,我插入了3个window.alert()调用。前两个window.alert()调用正确弹出,但是第三个window.alert()调用根本不显示。因此,恐怕该代码会在saveAs()调用时中止。
以下是我的代码:
<html>
<head>
<title>Save</title>
<script>
function save()
{
window.alert("I am here 1");
var jsonBlob = new Blob([JSON.stringify("kiki")], { type: 'application/javascript;charset=utf-8' });
window.alert("I am here 2");
saveAs(jsonBlob, "testout.json");
window.alert("I am here 3");
}
</script>
</head>
<body>
<form name="myform">
<input type="button" onClick="save();" value="Save">
</form>
</body>
</html>
我想知道为什么saveAs()对我不起作用?我在这里想念什么吗?我是否需要在计算机上添加某些内容才能使用saveAs()方法?
非常感谢您的建议!
最佳答案
您在saveAs中有点错误。
代码如下:
<html>
<head>
<title>Save</title>
<script>
function save()
{
window.alert("I am here 1");
var jsonBlob = new Blob([JSON.stringify("kiki")], { type: 'application/javascript;charset=utf-8' });
window.alert("I am here 2");
var link=window.URL.createObjectURL(jsonBlob);
window.location=link;
window.alert("I am here 3");
}
</script>
</head>
<body>
<form name="myform">
<input type="button" onClick="save();" value="Save">
</form>
</body>
</html>
您还可以看到以下内容:http://eligrey.com/demos/FileSaver.js/