ChildBrowser Phonegap无法正常工作

时间:2012-03-20 11:17:58

标签: ios cordova phonegap-plugins

在我的应用程序中搜索合适的方式打开浏览器之后,我遇到了ChildBrowser,看起来它提供了我所追求的一切。按照几个教程后,我似乎无法使插件工作。我已经为外部主机编辑了我的PhoneGap.plist文件,其值为“*”,我在插件中添加了ChildBrowserCommand,但是当我运行应用程序时,单击链接时没有任何反应。我在文档的头部有以下代码;

<script type="text/javascript">
    var childBrowser;

    function onBodyLoad ()
    {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    //Phonegap ready to go
    function onDeviceReady()
    {
        alert("PhoneGap is ready");
        childBrowser = ChildBrowser.install();
    }

    function openChildBrowser(url)
    {
        try {
            window.plugins.childBrowser.ShowWebPage(url);
            //childBrowser.showWebPage(url);
        }
        cathc(err)
        {
            alert(err);
        }
    }

</script>

我在我的phoneGap.js文件之后直接包含了ChildBrowser,但似乎无法让它运行并且我没有在控制台中记录错误。有谁知道什么是错的,或者至少指出了我正确的方向?

3 个答案:

答案 0 :(得分:3)

以下代码对我有用。

<!DOCTYPE html>
<html>
<head>
    <title>My External Page</title>
    <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1.0"/>
    <meta name="format-detection" content="telephone=no"/>

    <!--iPhone on Safari Standalone mode-->
    <meta name="apple-mobile-web-app-capable" content="yes" />

    <!--Hide iPhone on Safari Native Top Status Bar-->
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <link rel="shortcut icon" href="favicon.ico" />

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />

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

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

    <script type="text/javascript">

        document.addEventListener("deviceready", loaded, false);

        function loaded()
        {
            if (console)
            {
                console.log("cordova loaded");
            }
        }

        function showExternalPage()
        {
            if (console)
            {
                console.log("in show pmt page");
            }

            Cordova.exec("ChildBrowserCommand.showWebPage", "http://www.google.com/" );
        }

        </script>

</head>

<body>

    <div data-role="page" id="myExternalLauncherPage" data-theme="a">

        <div data-role="content">

            <ul data-role="listview" data-inset="true">

                <li>
                    <button type="submit" data-theme="b" id="launcherButton" onclick="showExternalPage()">Launch Google</button>
                </li>
            </ul>

        </div>

    </div>

</body>

答案 1 :(得分:1)

我的合作伙伴编写了一个分步教程,用于将ChildBrowser插件添加到PhoneGap Android项目here

答案 2 :(得分:0)

在花费数小时/天追逐关于该主题的许多令人困惑的页面后,我终于在blog page中找到了一套简明扼要的说明。请务必获取此github page中显示的最新代码。我成功地将ChildBrowser插件与OSX 10.7.3中运行的Xcode 4.3中的PhoneGap 1.5.0一起使用 - 并在iOS 4和5中进行了测试。我发现它的限制是它只能在纵向模式下工作。我现在正在寻求一个包含景观模式的决议。