使用Android上的浏览器方案重定向到应用程序

时间:2017-07-20 10:00:44

标签: javascript android

使用Android 6.0.1

我正在尝试使用网址方案从空白的“目标网页”重定向到我的应用。 但由于某些原因,当我在<a>标记中添加方案并打开应用程序但我尝试使用window.location.replace(myLink);

时没有任何反应

我错过了什么?

这是我的代码

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>redirection page</title>
</head>
    <body>
    <a href="myscheme://">my link</a> // THAT WORKS
    </body>

    <script type="application/javascript">
      var url = new URL(window.location.href);
      var href = "https://mylink.com";
      var deepLinkUrl = "myscheme://";
      var appStoreLink = "itms-apps://itunes.apple.com/app/myapp?mt=8";
      var googlePlayLink = "http://play.google.com/store/apps/details?id=com.my.app"

      var isMobile = {
        Android: function() {
          return navigator.userAgent.match(/Android/i);
        },
        iOS: function() {
          return navigator.userAgent.match(/iPhone|iPad|iPod/i);
        },
        any: function() {
          return (isMobile.Android() || isMobile.iOS());
        }
      };
      if (!isMobile.any()) {
        window.location.replace(href);
      } else if (isMobile.iOS()) {
        setTimeout(function() {
          window.location = appStoreLink;
        }, 25);
        window.location = deepLinkUrl;
      } else if (isMobile.Android()) {
        window.location.replace(deepLinkUrl); // THAT DOES NOT WORK
      } else {
        alert('Error.');
      }


    </script>
</body>
</html>

0 个答案:

没有答案