gpt4 book ai didi

javascript - 在 FileSaver.js 中保存文件后关闭窗口

转载 作者:行者123 更新时间:2023-11-29 10:17:01 24 4
gpt4 key购买 nike

我正在使用 FileSaver.js文件将我的 Canvas 保存到图像。下载后我必须关闭窗口。有什么办法可以实现吗?

这是我试过的代码,

canvas.toBlob(function (blob) {
saveAs(blob, "RQGantt.png");
window.close();
});

它适用于小尺寸图像。但是当我有一个大尺寸的图像时,我的窗口在开始下载之前就关闭了。

有没有办法在客户端做到这一点?

最佳答案

这是他们为 https://github.com/eligrey/FileSaver.js/issues/52 提供的回复问题。

Unfortunately, JS can't tell when the file has finished saving so the user will have to close new tabs it may make for content being saved.

所以,我做了以下解决方法

window.onbeforeunload = function () {
//For IE
if (HTMLCanvasElement.prototype.msToBlob && window["ganttBlob"])
saveAs(ganttBlob, "imageName.png");
}

canvas.toBlob(function (blob) {
window.ganttBlob = blob;
// For Non IE Browser
if (!canvas.msToBlob) {
saveAs(blob, "imageName.png");
setTimeout(function () {
window.close();
}, 500);
}
else //For IE
window.close();
});

所以,现在即使窗口已经关闭,下载提示选项也会出现。

关于javascript - 在 FileSaver.js 中保存文件后关闭窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19521894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com