deviceready事件未在Cordova 3.2.0中触发

eve*_*sor 4 javascript android cordova

我正在使用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"); });
Run Code Online (Sandbox Code Playgroud)

"测试"从未显示过.

eve*_*sor 9

正如点燃者猜测的那样,我忘了把它包括在内cordova.js.
虽然我必须说,在我的辩护中(:P),包含一个脚本是很奇怪的,如果它不在那里(如果它在浏览器中测试的话)它就在你的根上.

  • 要在浏览器中进行测试,您可以考虑使用[Phonegap-Desktop](https://github.com/jxp/phonegap-desktop)来模拟浏览器中的某些Cordova API. (2认同)