Вызов Ajax, чтобы проверить, существует ли собственное приложение iPhone на устройстве? - PullRequest
2 голосов
/ 04 октября 2011

Для нашего собственного приложения iPhone у нас есть URL: пример: //

На iPhone, если я наберу этот URL (пример: //) в Safari, он автоматически откроет мое приложение.

С моего «обычного» сайта у меня есть ссылка, которая, когда пользователь нажимает, открывает приложение. Проблема в том, что если приложение не установлено на iPhone, оно выдает ошибку «Невозможно открыть».

Поэтому, перед тем как отобразить ссылку на моем "обычном" сайте, мне нужно проверить, установлено ли приложение, одно из решений - сделать Ajax-вызов и проверить код состояния:

$.ajax({
                    type: 'POST',
                    url: 'example://',                   
                    complete: function (transport) {
                        if (transport.status == 200) {
                            alert('Success');                            
                        } else {
                            alert(transport.status);
                            alert('Failed');
                        }
                    }
                });

Но этот код всегда возвращает код состояния "0".

Есть ли способ узнать из Интернета, установлено ли родное приложение для iPhone?

1 Ответ

0 голосов
/ 05 октября 2011

Если вы имеете в виду Mobile Safari, вам не повезло. Я не знаю ни одного документированного публичного API, который мог бы это сделать. Mobile Safari находится в изолированной среде от ОС.

Если он находится в веб-просмотре в приложении, вы можете запросить URL и позволить делегату веб-просмотра поговорить с нативным приложением / запросить обработку примера: //. В противном случае браузер не сможет узнать о существовании какого-либо установленного приложения.

...