如何从Web应用程序打开本机iOS应用程序

简介我有一个应用程序具有正常运行的URL方案,我希望从存储在主屏幕上的Web应用程序启动该应用程序,而普通的JavaScript重定向方法似乎不起作用。


详细信息我正在尝试创建一个iOS Web应用程序,该应用程序将从保存在主屏幕上的链接以全屏模式打开。Web应用程序需要打开特定的本机应用程序。我已经为本机应用程序注册了url方案,并验证了该方案是否可以正常工作-例如,我可以通过直接在Safari地址栏中键入该方案来打开本机应用程序。我也可以使用的+openURL:方法从其他应用程序中打开它UIApplication。我还想使用可以添加到主屏幕的本地Web应用程序中的某些参数打开它。


我想要做的是像在本机应用程序中那样使用JavaScript:


window.location = "myapp://myparam";

在网络应用中使用此代码时,我会收到一条警告:


“无法打开myWebAppName-无法打开myWebAppName。错误是“无法显示此URL”。”。


在Safari中执行时,同样的JavaScript可以正常工作。我使用会得到相同的结果window.location.replace("myapp://myparam")。


该Web应用程序的html是:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"

   "http://www.w3.org/TR/html4/strict.dtd">


<html>

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <title>untitled</title>

    <meta name="generator" content="TextMate http://macromates.com/">

    <meta name="author" content="Carl Veazey">

    <!-- Date: 2012-04-19 -->

    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />

    <meta name="apple-mobile-web-app-capable" content="yes" />

    <meta names="apple-mobile-web-app-status-bar-style" content="black-translucent" />

</head>

<body>

    <script type="text/javascript" charset="utf-8">

        if (window.navigator.userAgent.indexOf('iPhone') != -1) {

            if (window.navigator.standalone == true) {

                window.location = "myapp://myparam";

            } else {

                document.write("please save this to your home screen");

        };} else {

                alert("Not iPhone!");

                document.location.href = 'please-open-from-an-iphone.html';

        };

    </script>

</body>

</html>

我在这里做错了什么?我对JavaScript和移动网络缺乏经验,所以我怀疑我只是缺少明显的东西。


江户川乱折腾
浏览 598回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript
iOS