html2canvas zapisuje jako plik JPEG bez otwierania w przeglądarce

Próbuję utworzyć przycisk ekranu, który tworzy obraz użytkownikadocument.body.

W idealnej sytuacji użytkownik miałby opcję zapisania obrazu lokalnie jako.jpeg.

Zbliżam się do stworzenia funkcjonalności, której potrzebuję, używająchtml2canvas biblioteka.

function screenGrabber() {
    html2canvas([document.body], {
    logging: true,
    useCORS: true,
    onrendered: function (canvas) {            

        img = canvas.toDataURL("image/jpg");

        console.log(img.length);
        console.log(img);

        window.location.href=img; // it will save locally
    }
});

}

Aby sprawdzić, czy to działa, otwierałemimg zmienna w nowym oknie przeglądarki. Obraz nie jest renderowany całkowicie i domyślam się, że to dlatego, że ma ponad 30 000 znaków.

Jak mogę lepiej dać użytkownikowi opcję zapisania płótna lokalnie poonrendered zdarzenie?

questionAnswers(1)

yourAnswerToTheQuestion