我需要将图形保存到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/

09-20 23:48