我在Firefox中检查了相同的代码,它运行良好。事实上,这几周前在Chrome中有效,但现在我只是看到一个空白屏幕。
代码如下:
该函数在单击按钮时触发。
function saving() {
var saveURL = canvas.toDataURL();
window.open(saveURL, "_blank", "location=0, menubar=0");
}
虽然在Chrome 中不再可能执行此操作,但有一些解决方法,例如打开空白文档并写入其中。
var win = window.open();
win.document.write("<img src='"+canvas.toDataURL()+"'/>");
这是因为Chrome最近的变化:
https://developers.google.com/web/updates/2017/03/chrome-58-deprecations#remove_content-initiated_top_frame_navigations_to_data_urls
出于安全原因,您无法再以这种方式直接打开数据 URL。
相反,请使用@Savoo在另一个答案中提出的解决方法,或者使用下载锚点并通过JavaScript单击它。