Not allowed to navigate top frame to data URL
原始代码
var elementSaveFile = document.createElement('a')elementSaveFile.setAttribute('href', 'data:text/plaincharset=utf-8,' + data2Write)// 利用A标签的download属性完成下载文件功能elementSaveFile.setAttribute('download', filename)// 设置为不显示的元素elementSaveFile.style.display = 'none'// 添加A标签元素document.body.appendChild(elementSaveFile)// 触发A标签元素的点击事件elementSaveFile.click()// A标签元素利用后释放document.body.removeChild(elementSaveFile)// alert("导出文件结束")
原因
Chrome 禁止从页面打开 Data URI 网址了
改为
var selectorA = document.querySelector("a");var blob = new Blob([data]); // 创建 blob 对象selectorA.href = URL.createObjectURL(blob); // 创建一个 URL 对象并传给 a 的 hrefselectorA.download = filename; // 设置下载的默认文件名selectorA.click();// 点击下载链接