html2canvas salvando como um jpeg sem abrir no navegador

Eu estou tentando criar um botão screengrab que cria uma imagem do usuáriodocument.body.

Idealmente, o usuário teria uma opção para salvar a imagem localmente como.jpeg.

Estou chegando perto de criar a funcionalidade que preciso usando ohtml2canvas 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 se isso está funcionando, estive abrindo oimg variável em uma nova janela do navegador. A imagem não renderiza completamente e eu estou supondo que é porque o comprimento é superior a 30.000 caracteres.

Como é melhor dar ao usuário uma opção para salvar a tela localmente após aonrendered evento?

questionAnswers(1)

yourAnswerToTheQuestion