繁体   English   中英

deviceready事件未在Cordova 3.2.0中触发

[英]deviceready event not firing in Cordova 3.2.0

我正在使用Cordova 3.2.0 -0.3.0和NetBeans 7.4来开发Cordova应用程序。 虽然它在Mobile的Chrome浏览器中运行正常,但它似乎无法在我的手机(Android 4.1.2)和模拟器(Android 4.3,API级别18)中正常工作。
问题似乎是deviceready事件永远不会被触发。

这是代码:

app.onReady = function(callback) {
    $(document).ready(function() {
        // are we running in native app or in browser?
        window.isphone = false;
        if (document.URL.indexOf("http://") === -1
                && document.URL.indexOf("https://") === -1) {
            window.isphone = true;
        }

        if (window.isphone) {
            alert("isPhone");
            document.addEventListener("deviceready", callback, false);
        } else {
            callback();
        }
    });
};

app.onReady(function(){ alert("test"); });

“测试”从未显示过。

正如cordova.js猜测的那样,我忘了包括cordova.js
虽然我必须说,在我的辩护中(:P),包含一个脚本是很奇怪的,如果它不在那里(至少在浏览器中进行测试时)是在你的根上。

这个问题可能是该deviceready事件被触发之前 ,DOM是准备好了,也就是之前$(document).ready()执行回调。

您应该尝试独立于$(document).ready()绑定到deviceready 有关如何执行此操作的示例,请参阅此答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM