繁体   English   中英

为什么JavaScript中的saveAs()对我不起作用?

[英]Why saveAs() in JavaScript does not work for me?

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

使用JavaScript转换为Excel工作表

var excelBlob = new Blob([response], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "excel.xlsx");     
var link=window.URL.createObjectURL(excelBlob);
window.location=link;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM