Instagram有一些很酷的钩子,可以用来从网址上打开应用程序。
e.g。的Instagram://相机
但是当用户没有安装Instagram时,浏览器不知道如何处理该URL。有没有办法让我检测用户是否安装了Instagram(在javascript中)?
答案 0 :(得分:3)
在Objective-C中,[[UIApplication sharedApplication] canOpenURL:url]
表达式可用于检测URL是否由系统中的任何应用程序处理。如果您使用PhoneGap或类似的框架,那么请查找此方法。如果你只有一个webapp,那么我很确定这是不可能的。
Web应用程序的问题在于它像沙盒一样被沙箱化,无法到达浏览器之外。但是,您似乎可以使用基于时序的方法检测存在。也就是说,如果未安装应用程序,则用户将返回或不能在某个相对较短的时间内离开所有浏览器。按照这些思路,我找到了这个解决方案:Check if URL scheme is supported in javascript
您可以使用此方法构建解决方案,但始终会向您的用户抛出“无法打开页面”警告框。但是,如果你在网络应用程序端正确处理它,这个恕我直言并不是很烦人。
答案 1 :(得分:0)
UIApplication有一个方法canOpenURL:
,你可以用来检查。
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"instagram://camera"]]) {
}