0

Instagram 有一些很酷的钩子,可用于从 Web url 打开应用程序。

例如 instagram://camera

但是当用户没有安装 instagram 时,浏览器不知道如何处理 url。有没有办法让我检测用户是否安装了 instagram(在 javascript 中)?

4

2 回答 2

3

在 Objective-C 中,该[[UIApplication sharedApplication] canOpenURL:url]表达式可用于检测 URL 是否由系统中的任何应用程序处理。如果你使用 PhoneGap 或一些类似的框架,那么寻找这个方法。如果您只有一个网络应用程序,那么我很确定这是不可能的。

Web 应用程序的问题在于它像网页一样被沙盒化,无法到达浏览器之外。但是,您似乎可以使用基于时间的方法来检测存在。也就是说,如果未安装应用程序,用户将在一定的相对较短的时间内返回或根本无法离开浏览器。沿着这些思路思考,我找到了这个解决方案:Check if URL scheme is supported in javascript

您也许可以使用这种方法构建解决方案,但“无法打开页面”警告框将始终向您的用户抛出。但是,如果您在 Web 应用程序端正确处理它,恕我直言,这并不是很烦人。

于 2013-08-09T20:39:18.323 回答
0

UIApplication 有一个canOpenURL:可以用来检查的方法。

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"instagram://camera"]]) {

}
于 2013-08-09T18:48:58.767 回答