在Safari中下载Blob

时间:2016-04-20 10:18:47

标签: download safari

var saveData = (function () {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    return function (data, fileName) {
        var json = JSON.stringify(data),
            blob = new Blob([json], {type: "octet/stream"}),
            url = window.URL.createObjectURL(blob);
        a.href = url;
        a.download = fileName;
        a.click();
        window.URL.revokeObjectURL(url);
    };
}());

var data = { x: 42, s: "hello, world", d: new Date() },
    fileName = "my-sample.json";

saveData(data, fileName);

以上在chrome和firefox中运行良好,而不是在safari中,因为下载属性不是由safari支持,还有其他想法可以克服这个问题吗?

1 个答案:

答案 0 :(得分:1)

我做了一个快速研究 - 我看起来Safari不支持你想要实现的目标。

您的解决方案在Chrome(和Firefox)中运行的原因是它们支持下载属性 - Safari尚未支持。