尝试调用锚标记的.click()以自动单击该网址时.
代码在除Internet Explorer v11之外的所有浏览器中都能正常运行.
代码在除Internet Explorer v11之外的所有浏览器中都能正常运行.
任何帮助将不胜感激.
var strContent = "a,b,c\n1,2,3\n"; var HTML_APS = strContent; var data = new Blob([HTML_APS]); var temp_link = document.createElement('a'); temp_link.href = URL.createObjectURL(data); temp_link.download = "report_html.htm"; temp_link.type = "text/html"; temp_link.style = "display:none"; document.body.appendChild(temp_link); if (confirm("Press a button!") == true) { temp_link.click(); temp_link.remove(); }
这是fiddle.
解决方法
对于IE,您可以使用navigator.msSaveOrOpenBlob
所以,跨浏览器,代码将是
var strContent = "a,3\n"; var HTML_APS = strContent; var data = new Blob([HTML_APS]); if (confirm("Press a button!") == true) { if (navigator.msSaveOrOpenBlob) { navigator.msSaveOrOpenBlob(data,"report_html.htm"); } else { var temp_link = document.createElement('a'); temp_link.href = URL.createObjectURL(data); temp_link.download = "report_html.htm"; temp_link.type = "text/html"; document.body.appendChild(temp_link); temp_link.click(); temp_link.remove(); } }