在iPhone上,是否可以在网页上检测是否安装了Skype?
我问的原因是我想基于此更改链接的 href:如果未安装 Skype,则显示一个弹出窗口,说明 Skype 是什么以及如何安装它,如果已安装,则更改链接到 skype:my.contact.name?call
这样点击就会开始通话。
我已经尝试过之前讨论过的解决方案 Javascript to detect Skype但它仅适用于桌面浏览器,不适用于移动设备。
最佳答案
这里是判断Skype是否安装的逻辑。在 else 语句中,您可以处理如何显示安装说明以安装 Skype。显然,这适用于为 iOS 应用程序实现的任何自定义 url 方案,只要您在每个应用程序的基础上相应地更新 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,因此我认为这是在寻找基于 Web 的解决方案。我不认为你想要实现的目标到那时是可能的。我能想到的唯一方法是让 XMLHTTPRequest 调用 URL 以查看 URL 是否导致错误 404。问题是您从中执行 Javascript 代码的任何域都没有 skype:// 方案,无疑会引发安全错误。这是因为 Javascript 不允许 XMLHttpRequest 进入托管代码的原始域以外的域。
关于IOS Safari 检测 Skype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6249621/