簡體   English   中英

如何使我的文件下載在IE和safari上正常工作?

[英]How can I make my file download work on IE and safari?

我正在嘗試使用以下代碼在客戶端上創建和下載文件:

function downloadFile(filename, text) {
    var pom = document.createElement('a');
    pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
    pom.setAttribute('download', filename);
    pom.click();
}

雖然這僅適用於chrome。 Safari和IE上沒有任何反應。 我該如何運作?

不知道您是否已經解決了這個問題,但是要使其在safari中起作用,您需要創建一個事件並在創建的元素上進行分派,如下所示:

    var downloadLink = document.createElement('a');
    downloadLink.setAttribute('href', 'data:application/octet;charset=utf-8,' + encodeURIComponent(data));
    downloadLink.setAttribute('download', fileName);
    downloadLink.style.display = "none";
    downloadLink.onclick = function (event) {
        document.body.removeChild(event.target);
    };

    var clk = document.createEvent("MouseEvent");
    clk.initEvent("click", true, true);
    downloadLink.dispatchEvent(clk);

    document.body.appendChild(downloadLink);
    downloadLink.dispatchEvent(clk);`

我用它來將文件保存為CSV / excel格式,並在chrome / IE / Safari中工作
參考並進行必要的更改

        var fileName = name + "["+ name1 +"]";
        var uri = 'data:text/csv;charset=utf-8,' + escape(finalResult);
        var link = document.createElement("a");    
        link.href = uri;
        link.style = "visibility:hidden";
        link.download = fileName + ".csv";
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
        location.reload();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM