Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Не работает скрипт на safari на iphone (https://javascript.ru/forum/css-html-browser/82407-ne-rabotaet-skript-na-safari-na-iphone.html)

ildarmustafin 01.05.2021 11:26

Не работает скрипт на safari на iphone
 
Добрый день форумчане. Подскажите в каком направлении двигаться. На html странице не срабатывает javascript в safari на iphone. Курил форумы и поиски, везде пишут, что должно срабатывать. В safari на javascript галочка стоит. В хроме все работает
<!doctype html>
<html lang="ru">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>TEST</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
	<span class="input-group-text">input1:</span>	
	<input type="number" id="in1" value="110">
				
	<span class="input-group-text">input2:</span>
	<input type="number" id="in2" value="84">
				
	<input id="getzp" type="submit" value="Расчет ЗП" onclick="getZp();">					
	<div class="w-100" id="t1">SUMMA:</div>	
	<div id="t2">SECOND:</div>					
<script>
	let sec_left = 0;
	window.onload = function() {
		setInterval(function () { getCountSec();}, 1000);	
	}
	function getCountSec(){ 
		sec_left++;	
		document.getElementById("t2").innerHTML = "SECOND: " + sec_left;
	}
	function getZp() {
		let inp1 = document.getElementById("in1").value;
		let inp2 = document.getElementById("in2").value;
		let summ = parseInt(inp1) + parseInt(inp2);
		document.getElementById("t1").innerHTML = "SUMMA: " + summ;
	}
</script>
</body>
</html>

рони 01.05.2021 11:47

ildarmustafin,
все let на var поменяйте

ildarmustafin 01.05.2021 11:50

Поменял, без изменений

ildarmustafin 01.05.2021 11:55

По идее же разницы нет какой браузер. Js должен срабатывать, если не стоит запрет на использование js в самом браузере. Или может есть какие-то нюансы? Есть ли разница откуда запускать html? Планирую запускать его только локально и храниться она будет в памяти телефона.

voraa 01.05.2021 12:32

А что именно не срабатывает?
Не выводится по функции getCountSec?
Не выводится по функции getZp?

ildarmustafin 01.05.2021 12:37

Не срабатывает ни getCountSec, ни getZp

Nexus 01.05.2021 15:21

Может и глупо, но:
Может быть событие «load» срабатывает до того, как ваш код выполнится?

По идее, в вашем коде нет смысла засовывать setInterval в onload, т.к. код находится перед </body>.


Upd. не, вряд ли. Даже если предположение верно, то функция getZp все равно должна выполняться.

рони 01.05.2021 15:33

Цитата:

Сообщение от ildarmustafin
Поменял, без изменений

все четыре?

ildarmustafin 01.05.2021 15:40

Да, все 4 поменял с let на var

рони 01.05.2021 15:49

ildarmustafin,
ещё танец с бубнами в продолжение к var, добавить window к setInterval в строке 21


Часовой пояс GMT +3, время: 02:34.