IOS Safari обнаруживает Skype - PullRequest
0 голосов
/ 06 июня 2011

Можно ли на iPhone определить на веб-странице, установлен ли Skype или нет?

Причина, по которой я спрашиваю, состоит в том, что я хотел бы изменить ссылку на ссылку на основе этого: если Skype не установлен, покажите всплывающее окно, объясняющее, что такое Skype и как его установить, если оно установлено, измените ссылку на skype:my.contact.name?call, поэтому щелчок начнет вызов.

Я уже пробовал решение, обсуждавшееся ранее Javascript для обнаружения Skype , но оно работает только в браузере на компьютере, но не на мобильном телефоне.

1 Ответ

0 голосов
/ 06 июня 2011

Вот логика, чтобы определить, установлен ли Skype.В операторе else вы указываете, как вы хотите представить инструкции по установке Skype для установки.Очевидно, что это будет работать для любой пользовательской схемы URL, реализованной для приложения iOS, при условии, что вы соответствующим образом обновляете схему URL для каждого приложения.

NSString *contactName = @"user123";
NSURL *skypeURL = [NSURL URLWithString:[NSString stringWithFormat:@"skype://%@?call", contactName]];
if ([[UIApplication sharedApplication] canOpenURL:skypeURL]) {
  [[UIApplication sharedApplication] openURL:skypeURL];
} else {
  // Display to the user how to install skype.
}

Обновление:

Я только что заметил, что тег был для Mobile-Safari , поэтому я предполагаю, что это поиск веб-решения.Я не думаю, что то, что вы пытаетесь достичь, будет возможно тогда.Единственный способ, которым я мог думать о том, чтобы сделать это, это заставить XMLHTTPRequest вызвать URL-адрес, чтобы узнать, не вызывает ли URL-адрес ошибку 404. Проблема в том, что любой домен, из которого вы выполняете код Javascript, не будет иметь skype: // Схема в нем и, несомненно, выдаст ошибку безопасности.Это связано с тем, что Javascript не позволяет XMLHttpRequest переходить на домены, отличные от исходного домена, где размещен ваш код.

...