jsPDF, а затем пытаюсь сделать его скачивание. На десктопе все работает ожидаемо хорошо. А для мобилы делаю прям костыли, но тоже не очень работает.
И на данный момент лучший вариант на мобильнике:
window.URL = window.URL || window.webkitURL
const blob = PDF.output('blob')
const a = this.r2.createElement('a')
this.r2.appendChild(document.body, a)
a.style.display = 'none'
a.target = '_blank'
a.download = 'file.pdf'
a.text = 'Download PDF'
if (window.navigator.msSaveOrOpenBlob) { //IE 11+
window.navigator.msSaveOrOpenBlob(blob, "my.pdf");
} else if (this.navigator.userAgent.match('FxiOS')) { //FF iOS
alert("Cannot display on FF iOS");
} else if (this.navigator.userAgent.match('CriOS')) { //Chrome iOS
const reader = new FileReader()
reader.onloadend = () => {
a.href = reader.result
a.click()
}
reader.readAsDataURL(blob)
} else if (this.navigator.userAgent.match(/iPad/i) || this.navigator.userAgent.match(/iPhone/i)) { //Safari & Opera iOS
window.location.href = window.URL.createObjectURL(blob)
}
и все бы устраивало, но почему-то хром игнорирует имя файла и скачивает просто document без разрешения, неоткрываемый соответственно
в сафари просто открывается пдф и им можно поделиться, но обязательно выбрать в настройках пдф иначе просто пошлет ссылку вида blob:…
Как победить мобильные браузеры в такой ситуации?)
filesaver не помогает?
впервые слышу, библиотека?https://www.npmjs.com/package/file-saver
Спасибо, тестану!
Обсуждают сегодня