Отправка SMS в прогрессивном веб-приложении не всегда работает на iPhone

#android #jquery #iphone #progressive-web-apps

#Android #jquery #iPhone #progressive-web-apps

Вопрос:

Я создал прогрессивное веб-приложение. Одна его часть должна обновить базу данных mysql и подготовиться к отправке SMS. Кажется, что он хорошо работает на Android, но на iPhone он неустойчив. Когда что-то идет не так, iPhone показывает «sms: 4412345678?amp;body = 1» в адресной строке браузера вместо открытия приложения SMS.

HTML -это

 <a href="sms: 4412345678?amp;body=1"><button class="1">Going to RV</button></a>
<a href="sms: 4412345678?amp;body=2"><button class="2">Going to Station</button></a>
<a href="sms: 4412345678?amp;body=3"><button class="3">Delayed but Attending</button></a>
<a href="sms: 4412345678?amp;body=4"><button class="4">On Scene</button></a>
<a href="sms: 4412345678?amp;body=5"><button class="5">Not Attending</button></a>
  

Тогда у меня есть функция Jquery

 $(function(){
    $('button').click(function(){
        var callsign = "<?php echo $callsign ?>";
        var response = $(this).attr("class");
        $.ajax({
            url: 'myresponse.php',
            type: 'POST',
            data: {callsign: callsign,
                response: response}
        }).done(function() {
                $("#beforeresponse").css("display", "none");
                $("#tresponse").css("display", "block");
                $("#teamresponse").load("allresponses.php div#teamresponse");
            });
    });
});
  

Я думаю, что, возможно, две задачи накладываются друг на друга и вызывают проблему в зависимости от того, какая из них запускается или заканчивается первой. Это звучит правдоподобно?

Мне интересно, могу ли я отключить ссылки

 <a href="sms: 4412345678?amp;body=1" disabled="disabled"><button class="1">Going to RV</button></a>
  

а затем запустите SMS с помощью .выполненная функция после существующей.готово завершено. Если да, то как?

Или я совершенно не прав?

Ответ №1:

Ну, я наконец-то нашел ответ. Я надеюсь, что это может быть полезно кому-то еще.

Ссылка «sms: 4412345678?amp;body = 1» работает, когда страница открыта в окне браузера, но не когда она установлена как веб-приложение. Итак, для этого конкретного приложения, где SMS-сообщение является основной частью функциональности, я должен заставить пользователей iPhone просто разместить ярлык на своей домашней странице, в то время как пользователи Android могут установить приложение обычным способом.

Это кажется немного хакерским, но это решение.