在启动时加载外部链接的 Phonegap 应用程序 - Android

Posted

技术标签:

【中文标题】在启动时加载外部链接的 Phonegap 应用程序 - Android【英文标题】:Phonegap application that loads an external link on startup - Android 【发布时间】:2014-06-21 22:07:35 【问题描述】:

我正在创建一个链接到网站的 phonegap 应用程序,我想在页面启动时加载该应用程序。

这是我尝试过的,一个调用 window.open 函数的简单 onload 方法,我尝试了一个在设备准备好时调用的函数。我正在运行最新版本的 Phonegap,即 3.5.0 和运行 4.4.2 的 android HTC One。下面是我的 deviceready 代码。此代码在我的 Durandal 应用程序的 www 文件夹中的 index.html 代码中。我认为它不起作用,因为我没有在此链接http://docs.phonegap.com/en/3.5.0/cordova_events_events.md.html#Events

的示例代码中导入的cordova.js 文件
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.css" />
        <link rel="stylesheet" href="lib/font-awesome/css/font-awesome.css" />
        <link rel="stylesheet" href="lib/durandal/css/durandal.css" />
        <script type="text/javascript" charset="UTF-8">
            function onLoad () 
                document.addEventListener("deviceready", function () 
                    window.open("http://google.com", "_system");
                , false);
            
        </script>
    </head>
    <body onload="onLoad">
        <div id="applicationHost"></div>
        <script src="lib/require/require.js" data-main="app/main"></script>
    </body>
</html>

感谢您的帮助。这是我的第一个堆栈溢出问题。请告诉我我的问题格式是否不正确,以及如何针对未来的问题改进它。另外,请建议我可以使用phonegap在应用程序启动时打开窗口的其他方法。我考虑过的另一个选择是使用 Android 和 Java 开发应用程序,创建一个 WebView,但这并没有为我提供我想要的 Android 和 Windows Phone 跨平台部署,我想使用 HTML 编写这个简单的应用程序, CSS、JS 使用 Durandal 和 PhoneGap。

【问题讨论】:

【参考方案1】:

在 durandal.css 添加链接之后添加此行。

<script type="text/javascript" src="cordova.js"></script>

没有cordova.js deviceready 函数不会触发。您现在不需要查看cordova.js 在哪里。它将由phonegap自动添加。现在只需添加这一行。

【讨论】:

以上是关于在启动时加载外部链接的 Phonegap 应用程序 - Android的主要内容,如果未能解决你的问题,请参考以下文章

使用 PhoneGap 在 JQuery Mobile 的外部浏览器中无法打开链接

PhoneGap Plugin ExternalScreen 加载外部资源

PhoneGap/Cordova 打开外部链接到 Safari 而不是全屏 inApp

PhoneGap 构建外部 URL 仅在 iOS 中不加载 cli-5.2.0

Cordova/Phonegap 通过 JavaScript inappbrowser 打印

PhoneGap:通知 Javascript 更新