Задать вопрос
@historydev
long long long long long .... int

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

Добрый вечер. Скажите пожалуйста почему сафари тупо пропускает этот код, из-за этого у меня на выходе кривой .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')

					}
			    })
			}

		}
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Средний 14 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Решения вопроса 1
@twolegs
Рекомендую почитать про области видимости и всплытие переменных в js.
Блоки if-else не ограничивают область видимости, соотвественно, второе определение фукнции внутри else всегда перекрывает первое. То есть какой бы ни был результат сравнения внутри if всегда будет выполняться второй вариант функции.
Определите функцию один раз и перенесите условие внутрь функции. Все должно заработать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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