簡體   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