由於蘋果手機限制,現在還不能實現瀏覽器下載問題,該方法只適用於安卓手機,已兼容 小米,oppo,華為等機型,暫無其他兼容性問題
const name = '文件' // 這個方法在移動端已可以正常下載文件,在電腦端會自動打開一個頁面,並不會下載 var a = document.createElement("a"); a.setAttribute("href", fileUrl); a.setAttribute("target", "_blank"); let clickEvent = document.createEvent("MouseEvents"); clickEvent.initEvent("click", true, true); a.dispatchEvent(clickEvent); // 下面這個在移動端存在兼容性問題 // var xhr = new XMLHttpRequest(); // xhr.open('GET', state.pdfUrl, true); // xhr.responseType = "blob"; //關鍵的一步 // xhr.onreadystatechange = function() { // if (xhr.readyState == 4) { // if (xhr.status == 200) { // var blod = this.response; // // 兼容IE // if (!!window.ActiveXObject || "ActiveXObject" in window) { // navigator.msSaveBlob(blod, filename) // } else { // // var src = URL.createObjectURL(blod); // var eleLink = document.createElement("a"); // eleLink.download = filename; // eleLink.href = URL.createObjectURL(blod); // document.body.appendChild(eleLink); // eleLink.click(); // URL.revokeObjectURL(eleLink.href) // document.body.removeChild(eleLink) // } // } // } // }; // xhr.send()