Подтвердить что ты не робот

Как определить, используя javascript в Safari Mobile, если установлено мое приложение для iPhone?

Как вы, наверное, знаете, приложения iPhone могут зарегистрировать обработчик настраиваемой схемы URL, ala "myapp:", и они могут использоваться для ссылок на странице, просматриваемой в Safari.

Я хотел бы автоматически запускать свое приложение с определенной страницы, если у посетителя установлено приложение. Если приложение не установлено, я просто покажу им текущее мобильное оптимизированное представление страницы.

Как это сделать? Поиски Google оказались бесплодными. Кроме того, чтобы быть сложным, я пробовал делать что-то подобное безрезультатно:

var image = new Image();
image.onerror = function(e){
  alert("bummer");
}
image.onload = function(e){
  alert('success!');
}
image.src = 'myapp://something=meaningful';

Кто-нибудь может найти способ обнаружения приложения?

4b9b3361

Ответ 1

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

Ответ 2

Я не думаю, что это возможно. Вам нужно будет зарегистрировать свое приложение на iPhone/Mobile Safari, а затем создать uri для запуска вашего приложения, как http:, ftp: mailto:. Так что в вашем случае у вас будет что-то вроде того, что я установил. Mobile Safari нужно будет знать, какое приложение запускает загрузку этого URI, и я просто не думаю, что эта функция встроена в iPhone. Я знаю, что javascript не может запросить ваш iPhone, чтобы узнать, что установлено.

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

Удачи.