Подтвердить что ты не робот

Javascript останавливается, когда я блокирую iphone, он все еще может работать?

Есть ли способ сказать, что функция javascript продолжает работать, даже когда телефон заблокирован?

В основном у меня есть таймер, который мне нужно продолжать работать, даже когда телефон настроен на простоя.

4b9b3361

Ответ 1

Да, вы можете. Вы даже можете запустить JavaScript, когда сафари находится в фоновом режиме.

Просто поместите скрытый фрейм на свой сайт:

<iframe src="background.html" style="display:none;"></iframe>

background.html:

<!DOCTYPE HTML>
<head>
<meta http-equiv="refresh" content="3" />
</head>
<body>
<script>
parent.run_function_from_core_page();
</script>
</body>
</html>

Страница в скрытом фрейме обновляется каждые 3 секунды и запускает JavaScript, даже если телефон заблокирован.

Будьте осторожны, так как это может привести к высокому трафику данных, если вы не используете WiFi!

Ответ 2

РЕДАКТИРОВАТЬ. Вы можете запустить синхронизированный код javascript в фоновом режиме с помощью трюка <iframe>. См. ответ Zsolt на этот вопрос.

Вы не можете продолжать запускать javascript, пока iPhone спит, используя setTimeout().

Когда телефон засыпает, Safari убьет любые запущенные процессы javascript, используя setTimeout(). Ознакомьтесь с этим ответом здесь по некоторым причинам, почему это делается.

Ответ 3

Неа. Когда телефон заблокирован и переходит в режим сна, ваш код не будет работать. Это по дизайну; iOS - это, по сути, сотовые телефоны, а не полноценные ПК, и предназначены для экономии энергии, когда пользователь не использует их.