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 的 href
selectorA.download = filename; // 设置下载的默认文件名
selectorA.click();// 点击下载链接