App Store网站如何知道iTunes是否已安装?

时间:2010-08-19 21:27:55

标签: url app-store protocols itunes

作为用户,我真的很喜欢浏览器上的Apple App Store网站如何判断我是否安装了iTunes并且可以采取相应的行动。

例如,如果我去App的页面,例如“Remember the Milk”: http://itunes.apple.com/app/remember-the-milk/id293561396?mt=8 然后单击“在iTunes中查看”按钮,

  1. 如果我安装了iTunes,它将启动iTunes中的链接
  2. 如果我没有iTunes,我会被重定向到一个让我知道我需要先下载/安装iTunes的页面。
  3. 我正在尝试用我们的产品做一些非常相似的事情。 我们调查过使用url procols之类的 APP_NAME:// url_to_open 如果用户已经安装了程序并且已经注册了url协议,那么这非常有效。

    但是,如果他们不这样做,那么他们会收到一条错误消息,告诉他们具体需要什么。

    我想获得更多的iTunes体验,我可以帮助我们以更加丰富的方式指导用户。

3 个答案:

答案 0 :(得分:8)

查看链接到该页面的Javascript资源,有一个名为“DetectItunesDetected”的函数。似乎:

  • 查看是否设置了名为“iTunesPresent”的cookie并且计算机是Macintosh(通过检查用户代理)
  • 查看Internet Explorer是否正在运行(再次,用户代理)和iTunes'ActiveX组件已安装
  • 查看Firefox是否正在运行,是否安装了基于Mozilla的浏览器的iTunes插件。

如果函数返回true,它将用ITMS变体替换相关的HTTP链接。

答案 1 :(得分:0)

该网站不知道,它使用itms协议。

要创建自己的应用程序,您需要将应用程序注册到操作系统,并告知它将处理哪个协议。 A good article on that。 Windows解释适用于所有浏览器(使用寄存器)。其他人只适用于firefox。

答案 2 :(得分:0)

我现在无法对此进行测试,但您可以尝试使用其协议从应用程序加载图像,如果图像无法加载,则重定向。

<img src='yourProtocol://image.jpg' onerror='window.location="yoursite.com/pageiffails.php";' />