Javascript html2canvas(document.body)生成错误-“;加载图像时出错“;

Javascript html2canvas(document.body)生成错误-“;加载图像时出错“;,javascript,asp.net,html2canvas,Javascript,Asp.net,Html2canvas,我试图用html2canvas截图,我得到了错误“错误加载图像” 我的代码相当简单- function SaveScreenshot() { html2canvas(document.body).then(canvas => { var image = canvas.toDataURL('image/webp'); try { localStorage.se

我试图用html2canvas截图,我得到了错误“错误加载图像”

我的代码相当简单-

 function SaveScreenshot() {
            html2canvas(document.body).then(canvas => {

                var image = canvas.toDataURL('image/webp');

                try {
                    localStorage.setItem("img1", image);
                }
                catch (e) {
                    console.log("Storage failed: " + e);
                }

            });
            return false;
        }
你可以自己试试。转到- 使用摄像头按钮拍摄网络摄像头的快照(或者不拍摄,其实并不重要)。 按汉堡按钮进入菜单。 转到“多媒体资料”按钮(看起来像4张有人的图片)

这是调用函数的按钮


请协助。

我不太清楚为什么要使用“image/webp”MIME类型,但它仅受chrome支持。我想你可以试试这样的。很多常见的屏幕截图方式

 function SaveScreenshot() {
            html2canvas(document.body).then(canvas => {

                const base64Image = canvas.toDataURL('image/jpeg', 1);

                try {
                    localStorage.setItem("img1", base64Image);
                }
                catch (e) {
                    console.log("Storage failed: " + e);
                }

            });
            return false;
        }

我不太清楚为什么要使用“image/webp”MIME类型,但它只有chrome支持。我想你可以试试这样的。很多常见的屏幕截图方式

 function SaveScreenshot() {
            html2canvas(document.body).then(canvas => {

                const base64Image = canvas.toDataURL('image/jpeg', 1);

                try {
                    localStorage.setItem("img1", base64Image);
                }
                catch (e) {
                    console.log("Storage failed: " + e);
                }

            });
            return false;
        }

我的错误似乎发生在将图像保存为webp之前。我试图删除“then”函数中的所有内容,但错误仍然发生。我真该死。根本不保存图像仍然会产生问题,但使用代码保存图像是可行的。非常感谢你!我的错误似乎发生在将图像保存为webp之前。我试图删除“then”函数中的所有内容,但错误仍然发生。我真该死。根本不保存图像仍然会产生问题,但使用代码保存图像是可行的。非常感谢你!