Подтверждение JavaScript() в Safari iOS7

EDIT: это было решено в обновлении iOS7 7.0.2.

Я видел проблемы с confirm() сбоем Safari на iOS7 в веб-приложениях, но ничего не видел в стандартном режиме. Следующий код взят из примера W3schools, и Safari просто продолжает выполняться после подтверждения(), поэтому переменная r всегда равна false. Является ли пользовательская реализация, которая имитирует функцию подтверждения (), по-прежнему единственным жизнеспособным обходным путем?

<html>
    <head>
        <script>
        function disp_confirm() {
          var r = confirm('Press a button!');

          if (r == true) {
            alert('You pressed OK!');
          } else {
            alert('You pressed Cancel!');
          }
        }
        </script>
    </head>
    <body>
        <input type="button" onclick="disp_confirm()" value="Display a confirm box">
    </body>
</html>

person Emil Johnsson    schedule 26.09.2013    source источник
comment
У меня этот код работает в Safari на iOS 7.   -  person Oscar Broman    schedule 26.09.2013
comment
Это было исправлено в обновлении iOS7 (7.0.2). Вы обновлялись или у вас работало на 7.0.1? Все iOS7 с 7.0.1, на которых мы тестировали, не смогли выполнить это должным образом.   -  person Emil Johnsson    schedule 27.09.2013
comment
Я тестировал его на 7.0.0. Кроме того, кажется, что ошибка при установке на домашний экран все еще существует в 7.0.2. :-(   -  person Oscar Broman    schedule 27.09.2013


Ответы (2)


Эта ошибка все еще существует для меня для меня в 7.0.2 и 7.0.3

Иногда я могу заставить Safari работать правильно, закрывая его и снова открывая, но в большинстве случаев это не работает.

person pkh80    schedule 23.10.2013

@ pkh80 Я нашел Alertify.js, который помог мне решить мои проблемы с подсказками, предупреждениями, подтверждениями и т. д. в iOS7. Вот исходный пост, если он помогает.

Другой пользователь в этой ветке сказал, что ему удалось обойти проблемы, установив тайм-аут. Может быть, попробовать тайм-аут в качестве простого старта, а затем, если необходимо, попытаться реализовать оповещение и посмотреть, решит ли это проблему?

person DaNnY BoY    schedule 24.10.2013