在我的应用程序中,我在加载 index.html 中的脚本文件时调用函数 init()。以下代码应验证 cordova 是否已成功加载(适用于现代手机,但也适用于较旧的 BlackBerries)并随后调用 onDeviceReady 函数。
我改编了 Jamie Munro 的“20 个 PhoneGap 编程食谱”中的代码,但它不能正常工作(intervalID 仅在本地可用)。后来发现 onDeviceReady 函数被多次调用......我尝试了几种方法来防止它,但即使是下面的示例在涟漪模拟器中运行时也不能解决问题。
我错过了什么?
var count = 0
function init() {
// Add an event listener for deviceready
document.addEventListener("deviceready", onDeviceReady, false);
// Older versions of Blackberry < 5.0 don't support
// PhoneGap's custom events, so instead we need to perform
// an interval check every 500 milliseconds to see whether
// PhoneGap is ready. Once done, the interval will be
// cleared and normal processing can begin.
intervalID = window.setInterval(function() {
if (window.cordova) {
window.clearInterval(intervalID);
onDeviceReady();
}
}, 1000);
}
function onDeviceReady() {
if(count == 0) {
count += 1;
alert('The device is now ready');
}
}