Как определить, с помощью JavaScript в Safari Mobile, установлено ли мое приложение для iPhone? - PullRequest
16 голосов
/ 16 июля 2009

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

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

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

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

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

Ответы [ 2 ]

6 голосов
/ 16 июля 2009

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

0 голосов
/ 16 июля 2009

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

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

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...