У меня есть некоторый SVG-контент внутри div, который я хотел бы сохранить и скачать как png.Я использую html2canvas, чтобы преобразовать содержимое div в холст, а затем сохранить его.Приведенный ниже код хорошо работает для Firefox, Chrome, Edge, но НЕ для Internet Explorer 11. Загрузка происходит в IE, но когда я открываю файл, все становится пустым.
Дело в том, что я слежу закуча других предыдущих примеров для IE точно, и все, кажется, работает для них.
JSFiddle: https://jsfiddle.net/65wzoq3n/14/ (Обратите внимание, что в скрипте ни один из загруженных pngs не имеет никакого содержимого внутри. Но в моем локальном браузере, Chrome и Firefox будут работать).
Предыдущие записи:
Png файл не загружается в Internet Explorer при использовании html2canvas.js в Jquery
Загрузить холст в Image в IE, используя Javascript
<button type="button" onClick="download()">Download</button>
<div id="tester" style="width:600px;height:250px;"></div>
<script>
function download() {
html2canvas(TESTER, {
width:600,
height:250
}).then(function(canvas) {
if (canvas.msToBlob) { //for IE
var img = canvas.msToBlob();
window.navigator.msSaveBlob(img, 'file-name.png');
}
else { // for everything else
saveAs(canvas.toDataURL(), 'file-name.png');
}
});
}
function saveAs(uri, filename) {
var link = document.createElement('a');
if (typeof link.download === 'string') {
link.href = uri;
link.download = filename;
//Firefox requires the link to be in the body
document.body.appendChild(link);
//simulate click
link.click();
//remove the link when done
document.body.removeChild(link);
} else {
window.open(uri);
}
}