PhoneGap Build deviceready事件未启动



我正在使用PhoneGap构建一个应用程序,并试图根据Adobe的文档启动设备就绪事件:http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html#deviceready

我研究过这个问题,发现很多人都成功地克服了它

我在Index.html中添加了以下几行:(我还尝试添加了cordova.js)

<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", function () { alert("Device Ready is Working"); }, false);
</script>

我在config.xml文件中添加了以下内容:

<gap:plugin name="org.apache.cordova.device" />

该应用程序加载并运行良好,但没有设备就绪警报。我在我的华硕变形金刚和Kindle Fire上尝试过,但都没有成功。

Index.html:

<!doctype html>
<html lang="en" ng-app="Stories">
<head>
    <meta name="viewport" content="initial-scale = 1.0,maximum-scale = 1.0" />
    <meta name="google-signin-clientid" content="615522017730.apps.googleusercontent.com" />
    <meta name="google-signin-scope" content="https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.login" />
    <meta name="google-signin-cookiepolicy" content="single_host_origin" />
    <link rel="Stylesheet" href="Styles/Lib/font-awesome.min.css" />
    <link rel="Stylesheet" href="Styles/Lib/bootstrap.min.css" />
    <link rel="Stylesheet" href="Styles/Core.css" />
    <link rel="Stylesheet" href="Styles/Mobile.css" />
</head>
<body>
    <div ng-view></div>
    <script type="text/javascript" src="Scripts/Lib/angular.min.js"></script>
    <script type="text/javascript" src="Scripts/Lib/angular-route.min.js"></script>
    <script type="text/javascript" src="Scripts/Lib/jquery-2.1.1.min.js"></script>
    <script type="text/javascript" src="Scripts/Lib/jquery.cookie.js"></script>
    <script type="text/javascript" src="Scripts/Lib/bootstrap.min.js"></script>
    <script type="text/javascript" src="Scripts/Lib/moment.min.js"></script>
    <script type="text/javascript" src="Scripts/Lib/lodash.js"></script>
    <script type="text/javascript" src="Scripts/Lib/ui-bootstrap-0.10.0.js"></script>
    <script type="text/javascript" src="Scripts/Lib/ui-bootstrap-tpls-0.10.0.js"></script>
    <script type="text/javascript" src="Scripts/App/Core.js"></script>
    <script type="text/javascript" src="Scripts/App/Stories.js"></script>
    <script type="text/javascript" src="Scripts/App.js"></script>
    <script type="text/javascript" src="Scripts/Controllers.js"></script>
    <script type="text/javascript" src="Scripts/Directives.js"></script>
    <script type="text/javascript" src="Scripts/Services.js"></script>
    <script type="text/javascript" src="Scripts/BSDirectives.js"></script>
    <!--<script type="text/javascript" src="phonegap.js"></script>-->
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="Plugins/PushNotification.js"></script>
    <div id="fb-root"></div>
    <script type="text/javascript">
        document.addEventListener("deviceready", function () { alert("Device Ready is Working"); }, false);
    </script>
    <script type="text/javascript">
        window.fbAsyncInit = function () {
            // TODO: Fix Channel location
            FB.init({
                channelUrl: 'http://localhost:49499/stories/FBChannel.html',
                appId: '474111489382243',
                status: true,
                cookie: true,
                xfbml: true
            });
        };
        (function (d) {
            var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
            if (d.getElementById(id)) { return; }
            js = d.createElement('script'); js.id = id; js.async = true;
            js.src = "//connect.facebook.net/en_US/all.js";
            ref.parentNode.insertBefore(js, ref);
        }(document));
    </script>
    <script type="text/javascript">
        (function () {
            var po = document.createElement('script');
            po.type = 'text/javascript'; po.async = true;
            po.src = 'https://apis.google.com/js/client:plusone.js?onload=render';
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(po, s);
        })();
    </script>
</body>
</html>

config.xml:

<?xml version="1.0" encoding="utf-8" ?>
<widget 
xmlns="http://www.w3.org/ns/widgets" 
xmlns:gap="http://phonegap.com/ns/1.0" 
xmlns:android="http://schemas.android.com/apk/res/android"
id="com.asd.sdf" 
versionCode="1.0" 
version="1.0">
<name>asd</name>
<description>asd</description>
<author href="asd" email="asd">asd</author>
<access origin="*" />
<gap:plugin name="org.apache.cordova.device" />
</widget>

我认为这个答案看起来不错->Phonegap没有';t显示警报

"因为您正试图在加载phonegap/cordova框架之前显示警报。$(document).ready(function){在这里对您没有帮助,您必须使用此事件来检查phonegap是否成功加载"

document.addEventListener("deviceReady", deviceReady, false);
function deviceReady() {
    // Now safe to use the PhoneGap API
}

最新更新