如何检查是否从网络安装了应用程序

如果iPhone没有安装应用程序,我想要创建一个网页,一个将iPhone重定向到应用程序商店的页面,但如果iPhone安装了应用程序,我希望它打开该应用程序。

我已经在iPhone应用程序中实现了一个自定义url,所以我有一个类似于以下内容的应用程序的url:

myapp://

如果此网址无效,我希望网页重定向到应用商店。 这可能吗?

如果我没有在手机上安装应用程序,并在safari中写入myapp:// url,我所得到的只是一条错误消息。

即使JavaScript存在一个丑陋的黑客我真的很想知道?


据我所知,你不能从浏览器检查是否安装了应用程序。

但是,您可以尝试将手机重定向到应用程序,如果没有任何操作将手机重定向到指定页面,如下所示:

setTimeout(function () { window.location = "https://itunes.apple.com/appdir"; }, 25);
window.location = "appname://";

如果第二行代码给出结果,那么第一行永远不会执行。

希望这可以帮助!

类似的问题:

  • iPhone浏览器:检查iPhone应用程序是否从浏览器安装
  • 是否有可能为iPhone应用注册一个基于http +域的URL Scheme,例如YouTube和Maps?

  • 为了进一步接受答案,有时需要添加额外的代码来处理启动应用程序后返回浏览器的人 - setTimeout函数将在任何时候运行。 所以,我做了这样的事情:

    var now = new Date().valueOf();
    setTimeout(function () {
        if (new Date().valueOf() - now > 100) return;
        window.location = "https://itunes.apple.com/appdir";
    }, 25);
    window.location = "appname://";
    

    这样,如果代码执行过程中出现冻结(即应用程序切换),它将不会运行。


    iOS Safari具有一项功能,可让您在网页上添加一个“智能”横幅,将其链接到您的应用程序(如果已安装)或App Store。

    您可以通过向页面添加meta标记来完成此操作。 你甚至可以指定一个详细的应用程序URL,如果你想让应用程序在加载时做一些特殊的事情。

    详细信息请访问Apple的促销应用和智能应用横幅页面。

    该机制具有易于使用和提供标准化横幅的优点。 缺点是你没有太多的控制外观或位置。 此外,如果页面在Safari浏览器以外的浏览器中查看,则所有投注都将关闭。

    链接地址: http://www.djcxy.com/p/19235.html

    上一篇: How to check if an app is installed from a web

    下一篇: dynamically set the key for Key