【问题标题】:Getting net::ERR_UNKNOWN_URL_SCHEME error获取 net::ERR_UNKNOWN_URL_SCHEME 错误
【发布时间】:2018-06-14 04:51:01
【问题描述】:

我正在尝试从 javascript 打开一个 android 应用程序。如果 android 应用程序安装在 android mobile 中,它会打开所需的应用程序。但是如果没有安装android应用程序,它应该给我一个弹出窗口,“你似乎没有安装应用程序,你想现在下载吗?”。但我收到 net::ERR_UNKNOWN_URL_SCHEME 错误。我在下面添加了代码sn-p:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
function redirectToApp() {
$('#link').attr('href', "<scheme>://<package>/?<parameters>");
$("#link")[0].click();
setTimeout(
        function() {
          if (confirm('You do not seem to have app installed, do you want to download it now?')) {
            window.location = 'https://play.google.com/store/apps/details?id=123';
                      } 
        }, 500);
}
</script>
</head>
<body onload="redirectToApp()">
<a id="link" href="" style="display: none">Link</a>
</body>
</html>

【问题讨论】:

    标签: javascript android spring-mvc web okta


    【解决方案1】:

    您可以尝试将 click 包装在 try...catch 中。你说如果安装了应用程序它可以工作,那么你可以假设如果它没有安装应用程序,然后运行confirm

    try {
      $('#link').attr('href', "<scheme>://<package>/?<parameters>");
      $("#link")[0].click(); 
    } catch (error) {
      if (confirm('You do not seem to have app installed, do you want to download it now?')) {
        window.location = 'https://play.google.com/store/apps/details?id=123';
      } 
    }
    

    您可能还想检查传递给catch 的错误是否也是您所期望的net::ERR_UNKNOWN_URL_SCHEME,但也许这样就足够了?

    【讨论】:

    • 嗨,我尝试了上述解决方案。但这似乎不起作用。它正在尝试打开应用程序链接 (:///?) 并给出 net::ERR_UNKNOWN_URL_SCHEME 错误。
    • @SwathiDelampady 我以为这些只是占位符,链接应该使用真正的应用程序协议、url/包和参数。例如使用 Google 地图应用程序:maps://maps.google.com/maps?daddr=123,456
    • 嗨,这些只是占位符。它试图打开我的应用程序链接并抛出 net::ERR_UNKNOWN_URL_SCHEME 错误。有什么办法可以在 javascript 中捕捉到这个错误?
    • @SwathiDelampady 这不是 JS 错误,我猜是 Java 抛出了它,所以你无法在 JavaScript 中捕获它。看这里,尝试从Java端解决:stackoverflow.com/questions/24697429/…
    • 我们正在尝试通过 OKTA 登录到 android 应用程序。在 spring mvc 中从 OKTA 获得有效的 SAML 响应后,重定向到 JSP 并打开 android 应用程序的链接。所以我们将无法控制 OKTA 的网络视图。
    猜你喜欢
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    相关资源
    最近更新 更多