html2canvas guardando como un jpeg sin abrir en el navegador

Estoy tratando de crear un botón de screengrab que crea una imagen del usuariodocument.body.

Lo ideal sería que el usuario tuviera la opción de guardar la imagen localmente como.jpeg.

Me estoy acercando a crear la funcionalidad que necesito usando elhtml2canvas biblioteca.

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
    }
});

}

Para verificar que esto está funcionando he estado abriendo elimg Variable en una nueva ventana del navegador. La imagen no se renderiza completamente y supongo que se debe a que la longitud es de más de 30,000 caracteres.

¿Cómo podría dar al usuario una opción para guardar el lienzo localmente después de laonrendered ¿evento?

Respuestas a la pregunta(1)

Su respuesta a la pregunta