我正在使用Foursquare API开发一个有趣的小项目。在这个项目中,我有一个PHP / HTML页面,可以将用户重定向到foursquare应用程序。 Android没有明显的问题,因为我们应该使用的方法“很好地降级”。
在我的HTML页面中,我使用javascript来检测用户正在使用哪部手机。如果它检测到iOS,则页面会重定向到Foursquare应用程序,使用的网址如下所示:“{foursquare:// users / USER_ID”:https://developer.foursquare.com/resources/client
在此页面上,它表示我应该“仅在用户安装了foursquare应用程序时才尝试链接到这些URL”。我按照Foursquare给出的链接,但似乎给出了iOS应用程序的规格,而不是网页。
显然,当我尝试在没有安装应用的情况下打开“foursquare://”链接时,Safari根本不喜欢。
有没有办法检测是否安装了Foursquare应用程序?
PS:我的“代码”看起来像这样:
if(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i)){
location.href='foursquare://venues/VENUE_ID';
}else{
location.href='http://m.foursquare.com/venue/VENUE_ID';
}
编辑:这是这个问题的重复:Ajax call to check if native iPhone application exists on the device? - Thx @Jonathan Levison
答案 0 :(得分:1)
我认为你要的是:Ajax call to check if native iPhone application exists on the device?
看来(从那个问题)你无法确定是否通过safari移动网络浏览器安装了本机应用程序:(