JavaScript confirm() на Safari iOS7

РЕДАКТИРАНЕ: Това е решено в 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. Ето оригиналната публикация, ако помага.

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

person DaNnY BoY    schedule 24.10.2013