我正在使用Cordova 3.2.0 -0.3.0和NetBeans 7.4 来开发Cordova应用程序。虽然它在移动设备的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"); });
“测试”它从未显示过。
答案 0 :(得分:9)
正如点燃者猜测的那样,我忘记了cordova.js
虽然我必须说,在我的辩护中(:P),包含一个脚本就好了,如果它不在那里(至少在浏览器中进行测试时),它就在你的根上了。
答案 1 :(得分:3)
问题可能是{<1}}事件在DOM准备就绪之前触发,即在执行deviceready
回调之前。
您应该尝试独立于$(document).ready()
绑定到deviceready
。
有关如何执行此操作的示例,请参阅this answer。