问题描述
deviceready
在第二页上不再触发。
假设我有:
page1.html
- 输入页。
和
page2.html
- 另一页。
在page1中,我有以下代码:
document.addEventListener(deviceready onDeviceReadyPopup,false);
function onDeviceReadyPopup(){
window.location.href =page2.html;
}
在第2页,我有以下代码:
document.addEventListener(deviceready,onDeviceReady,true);
事件。这将在
function onDeviceReady(){
alert(Script - Device ready!问题:警告从未触发,因为它不会触发<$ c
$ b c> devicereadyandroid
中正常工作。
我怀疑这是因为我使用
window.location.href
?解决方案deviceready 每个应用程序生命周期一次。
此事件对任何应用程序都是必不可少的。它表示Cordova的设备API已加载并可以访问。
Cordova包含两个代码库:native和JavaScript。在加载本机代码时,会显示自定义加载图像。
但是,JavaScript只会在DOM加载时加载。这意味着在相应的本地代码可用之前,网络应用程序可能会调用Cordova JavaScript函数。
一旦Cordova完全加载,deviceready事件就会触发。
了解详情:
deviceready
was no longer fired on second page. Let's say I have:
page1.html
- entry page.and
page2.html
- another page.In page1, I have this code:
document.addEventListener("deviceready", onDeviceReadyPopup, false); function onDeviceReadyPopup(){ window.location.href="page2.html"; }
In page2, I have this code:
document.addEventListener("deviceready", onDeviceReady, true); function onDeviceReady() { alert("Script - Device ready!"); }
Problem: alert was never fired since it does not fire the
deviceready
event. This will just work fine inandroid
.I doubt that it is because I am using
window.location.href
?解决方案deviceready event fires only once per application lifecycle.
This event is essential to any application. It signals that Cordova's device APIs have loaded and are ready to access.
Cordova consists of two code bases: native and JavaScript. While the native code loads, a custom loading image displays.
However, JavaScript only loads once the DOM loads. This means the web app may potentially call a Cordova JavaScript function before the corresponding native code becomes available.
The deviceready event fires once Cordova has fully loaded.
for more: http://cordova.apache.org/docs/en/3.5.0/cordova_events_events.md.html#deviceready
这篇关于iOS - deviceready 5秒钟后没有触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!