ChildBrowser Phonegap не работает - PullRequest
       3

ChildBrowser Phonegap не работает

3 голосов
/ 20 марта 2012

После поиска подходящего способа открыть браузер в моем приложении я наткнулся на 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>

У меня есть ChildBrowser, включенный сразу после моего файла phoneGap.js, но, похоже, он не запускается, и я не получаю ошибок, зарегистрированных в консоли. Кто-нибудь знает, что не так или, по крайней мере, указывает мне правильное направление?

Ответы [ 3 ]

3 голосов
/ 05 октября 2012

Этот код ниже работает для меня.

<!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 голос
/ 21 марта 2012

Мой партнер написал пошаговое руководство для добавления плагина ChildBrowser в проект PhoneGap Android здесь .

0 голосов
/ 05 мая 2012

Проведя часы / дни в погоне за многими запутанными страницами по теме, я наконец нашел краткий набор инструкций на этой странице блога .Не забудьте взять последний код, как показано на этой странице github .Мне удалось заставить плагин ChildBrowser работать с PhoneGap 1.5.0 в Xcode 4.3, работающем в OSX 10.7.3 - и протестирован в iOS 4 и 5. Я обнаружил ограничение: он работает только в портретном режиме.Сейчас я добиваюсь разрешения, чтобы включить ландшафтный режим.

...