@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')

					}
			    })
			}

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

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

Войти через центр авторизации
Похожие вопросы