PhoneGap Javascript не работает, кроме как в индексном файле - PullRequest
1 голос
/ 02 ноября 2011

Привет! Я пытаюсь запустить функцию javascript (предупреждение для проверки), но она не запускается, когда на странице, отличной от index.html.

Вот пример страницы, которая не запускает предупреждение javascript (обратите внимание, что <удаляется из всех тегов, чтобы отобразить при переполнении стека): </p>

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
        <meta http-equiv="Content-type" content="text/html; charset=utf-8">
        <script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script>
        <script type="text/javascript" charset="utf-8">
            document.addEventListener("deviceready", onDeviceReady, false);

            // PhoneGap is loaded and it is now safe to make calls PhoneGap methods
            //
            function onDeviceReady() {
            document.addEventListener("deviceready", onDeviceReady, false);
            }


            function onDeviceReady() {
            alert("test");
            navigator.notification.alert("PhoneGap is working");
            }

        </script>

        <link rel="stylesheet"  href="http://code.jquery.com/mobile/1.0rc1/jquery.mobile-1.0rc1.min.css" />
        <link rel="stylesheet" href="docs/_assets/css/jqm-docs.css" />
        <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
        <script src="experiments/themeswitcher/jquery.mobile.themeswitcher.js"></script>
        <script src="docs/_assets/js/jqm-docs.js"></script>
        <script src="http://code.jquery.com/mobile/1.0rc1/jquery.mobile-1.0rc1.min.js"></script>
        <link rel="stylesheet" href="n_style.css" />

    </head>
    <body onload="onBodyLoad()">


    </body>
</html>

Ответы [ 2 ]

5 голосов
/ 02 ноября 2011

onDeviceReady срабатывает только один раз при запуске приложения. Смотрите документацию: http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html#deviceready

Эта функция указывает, что PhoneGap полностью загружен.

0 голосов
/ 07 ноября 2011

Ваш Javascript не работает, потому что у вас нет функции onBodyLoad.Я бы обернул document.addEventListener("deviceready", onDeviceReady, false); в onBodyLoad функцию.Кроме того, если у вас есть ошибки JavaScript, попробуйте открыть страницу в Firefox и использовать Firebug для проверки ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...