@historydev
Редактирую файлы с непонятными расширениями

Почему сафари игнорирует этот код?

Добрый вечер. Скажите пожалуйста почему сафари тупо пропускает этот код, из-за этого у меня на выходе кривой .pdf

Тест: https://marketingjobs.ru/testirovanie

Спасибо, вся функция ниже будет

document.querySelector('.results').style.transform = 'scale(1,1)'
				document.querySelector('.value').style.transform = 'scale(1,1)'
				document.querySelector('.name').style.transform = 'scale(1,1)'
				document.querySelector('.counts').style.transform = 'scale(1,1)'
				document.querySelector('.results').style.margin = '0px'
				document.querySelector('.value').style.width = '40%'
				document.querySelector('.counts').style.width = '40%'
				document.querySelector('.counts').style.marginLeft = '30%'


window.html2canvas = html2canvas
		
		if(window.innerWidth <= 480) {

			function genPDF() {

				document.querySelector('.results').style.transform = 'scale(1,1)'
				document.querySelector('.value').style.transform = 'scale(1,1)'
				document.querySelector('.name').style.transform = 'scale(1,1)'
				document.querySelector('.counts').style.transform = 'scale(1,1)'
				document.querySelector('.results').style.margin = '0px'
				document.querySelector('.value').style.width = '40%'
				document.querySelector('.counts').style.width = '40%'
				document.querySelector('.counts').style.marginLeft = '30%'

				html2canvas(document.querySelector('body'), {
					onrendered: function(canvas) {

						var img = canvas.toDataURL("image/png")
						var doc = new jsPDF()
						doc.addImage(img, 'JPEG', 70, 0, document.body.style.width-150,document.body.style.height-150)
						doc.save('test.pdf')

					}
			    })
			}

		}

		else {

			function genPDF() {
				html2canvas(document.querySelector('body'), {
					onrendered: function(canvas) {

						var img = canvas.toDataURL("image/png")
						var doc = new jsPDF()
						doc.addImage(img, 'JPEG', 0, 0, document.body.style.width-150,document.body.style.height-150)
						doc.save('test.pdf')

					}
			    })
			}

		}
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@twolegs
Рекомендую почитать про области видимости и всплытие переменных в js.
Блоки if-else не ограничивают область видимости, соотвественно, второе определение фукнции внутри else всегда перекрывает первое. То есть какой бы ни был результат сравнения внутри if всегда будет выполняться второй вариант функции.
Определите функцию один раз и перенесите условие внутрь функции. Все должно заработать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы