はブロブを試してみてください。
(いや、ないようなもの)
demo
var blob = new Blob(["CSV DATA HERE"], {type: "text/csv"});
var url = URL.createObjectURL(blob);
open(url);
CSVにJSONに変換する必要がありますか?
demo
(https://stackoverflow.com/a/14966131/6560716)
var data = [["name1", "city1", "some other info"], ["name2", "city2", "more info"]];
var csvContent = "";
data.forEach(function(infoArray, index){
dataString = infoArray.join(",");
csvContent += index < data.length ? dataString+ "\n" : dataString;
});
var blob = new Blob([csvContent], {type: "text/csv"});
var url = URL.createObjectURL(blob);
open(url);
ファイルの名前を持っている必要がありますか?
demo
var blob = new Blob(["CSV DATA HERE"], {type: "text/csv"});
var url = URL.createObjectURL(blob);
var link = document.createElement("a");
link.setAttribute("href", url);
link.setAttribute("download", "filename.csv");
document.body.appendChild(link);
link.click();
ファイル名とJSON?正確に(私はあなたが既に持っていると仮定している?)準備-先行ソリューションを変換するだけで、多かれ少なかれを行い1と同じことに伴う問題である(?)クリック/オンデマンドで
demo
var data = [["name1", "city1", "some other info"], ["name2", "city2", "more info"]];
var csvContent = "";
data.forEach(function(infoArray, index){
dataString = infoArray.join(",");
csvContent += index < data.length ? dataString+ "\n" : dataString;
});
var blob = new Blob([csvContent], {type: "text/csv"});
var url = URL.createObjectURL(blob);
var link = document.createElement("a");
link.setAttribute("href", url);
link.setAttribute("download", "filename.csv");
document.body.appendChild(link);
link.click();
...? – CBroe
もし私が正しく理解したら、ユーザーが別のボタンをクリックしたときにdata-urlでアンカーを生成することを提案していますか? JSを実際にクリックして起動しますか? – kubal5003
私は単純にデータURIを 'location.href'に最初に割り当てようとしています。ブラウザがあなたにそれをさせるかどうかを見てみましょう。 – CBroe