Не работает скрипт на 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>
|
ildarmustafin,
все let на var поменяйте |
Поменял, без изменений
|
По идее же разницы нет какой браузер. Js должен срабатывать, если не стоит запрет на использование js в самом браузере. Или может есть какие-то нюансы? Есть ли разница откуда запускать html? Планирую запускать его только локально и храниться она будет в памяти телефона.
|
А что именно не срабатывает?
Не выводится по функции getCountSec? Не выводится по функции getZp? |
Не срабатывает ни getCountSec, ни getZp
|
Может быть событие «load» срабатывает до того, как ваш код выполнится? По идее, в вашем коде нет смысла засовывать setInterval в onload, т.к. код находится перед </body>. Upd. не, вряд ли. Даже если предположение верно, то функция getZp все равно должна выполняться. |
Цитата:
|
Да, все 4 поменял с let на var
|
ildarmustafin,
ещё танец с бубнами в продолжение к var, добавить window к setInterval в строке 21 |
ildarmustafin,
скопируйте этот код и создайте новую страницу у себя для теста.
<!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>
var sec_left = 0;
window.onload = function() {
window.setInterval(function () { getCountSec();}, 1000);
}
function getCountSec(){
sec_left++;
document.getElementById("t2").innerHTML = "SECOND: " + sec_left;
}
function getZp() {
var inp1 = document.getElementById("in1").value;
var inp2 = document.getElementById("in2").value;
var summ = parseInt(inp1) + parseInt(inp2);
document.getElementById("t1").innerHTML = "SUMMA: " + summ;
}
</script>
</body>
</html>
|
Я подозреваю, что система не дает запустить script из-за его локального расположения. Сейчас попробую создать вебстраницу, забросить его туда и попробовать открыть оттуда
|
Цитата:
|
Всем спасибо за ответы. Вопрос решен. Закинул на сайт. На айфоне все работает. Буду курить как дать локальный доступ
|
Спасибо за совет
Цитата:
P.S. Уже позже дошла мысль, что подключался js файл без никаких транспайлеров и прочих оптимизаций |
| Часовой пояс GMT +3, время: 12:27. |