Возможно, я нашел лучший способ не заставлять пользователя нажимать правую кнопку мыши «сохранить изображение как». просто вживую нарисуйте код canvas base64 в href ссылки и измените его так, чтобы загрузка началась автоматически. я не знаю, совместим ли его универсальный браузер, но он должен работать с основными / новыми браузерами.
var canvas = document.getElementById('your-canvas');
if (canvas.getContext) {
var C = canvas.getContext('2d');
}
$('#your-canvas').mousedown(function(event) {
// feel free to choose your event ;)
// just for example
// var OFFSET = $(this).offset();
// var x = event.pageX - OFFSET.left;
// var y = event.pageY - OFFSET.top;
// standard data to url
var imgdata = canvas.toDataURL('image/png');
// modify the dataUrl so the browser starts downloading it instead of just showing it
var newdata = imgdata.replace(/^data:image\/png/,'data:application/octet-stream');
// give the link the values it needs
$('a.linkwithnewattr').attr('download','your_pic_name.png').attr('href',newdata);
});
Не стесняйтесь обернуть вокруг все, что вы хотите, надеюсь, это поможет немного