iOS 13: веб-приложение в полноэкранном режиме не обновляется при запуске - PullRequest
0 голосов
/ 11 октября 2019

Начиная с iOS 13 (возможно, также в конце iOs 12 ...) веб-приложения в полноэкранном режиме, кажется, не обновляются, когда пользователь открывает их, щелкая значок на главном экране iPhone ...

Смотрите это видео, чтобы увидеть 2 тестовых примера ниже в живом: https://tooliphone.net/temp/stackoverflow_58342896.mp4

Контрольный пример 1: не в полноэкранном режиме

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<script type="text/javascript">
    alert("test / IT IS in fullscreen !");
    var today = new Date();
    var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
    var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
    var dateTime = date+' '+time;
    document.write(dateTime);
</script>
</body>
</html>
  • Посетите эту страницу на iOS /safari: https://dev.icustom.tooliphone.net/test
  • Добавить его на главный экран (кнопка «Поделиться» / добавить на главный экран)
  • Щелкните значок главного экрана: отображается предупреждение / отображается текущая дата (немедленно)
  • Щелкните значок главного экрана СНОВА: оповещение отображается / текущая дата обновлена ​​(немедленно)

Контрольный пример 2: ЭТО в полноэкранном режиме

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
</head>
<body>
<script type="text/javascript">
    alert("test / IT IS in fullscreen !");
    var today = new Date();
    var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
    var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
    var dateTime = date+' '+time;
    document.write(dateTime);
</script>
</body>
</html>

Обратите внимание на новую строку здесьдля установки в качестве веб-приложения на домашнем экране («полноэкранный режим»):

<meta name="apple-mobile-web-app-capable" content="yes" />
  • Посетите эту страницу в iOS / safari: https://dev.icustom.tooliphone.net/test2
  • Добавьте ее на домашний экран(кнопка «Поделиться» / добавить на главный экран)
  • Щелкните значок главного экрана: отображается предупреждение /отображается текущая дата (через несколько секунд ...)
  • Щелкните значок главного экрана СНОВА: предупреждение НЕ отображается / текущая дата НЕ обновлено

Похоже, единственный способ убить веб-приложение в диспетчере задач iOS и запустить его снова ...

Вопрос

Есть ли способ заставить веб-приложение в полноэкранном режимеобновлять себя при запуске (каждый раз, когда пользователь нажимает на иконку домашнего экрана)?

Я пытался перераспределить страницу в javascript, но, конечно, так как предупреждение не выполняется, этот вид кода тоже не ...

window.location.reload();

спасибо заранее, это сводит меня с ума!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...