托管页面上的onDeviceReady

时间:2012-12-06 14:57:49

标签: cordova

我对PhoneGap / Cordova for iOS上的onDeviceReady事件有一些疑问。

我在具有多个页面的应用程序中使用它,它可以在我的index.html和其他页面链接到同一个JS文件。但我在我的应用程序中链接了另一个页面。此页面及其脚本托管在我的服务器上,在其中,onDeviceReady不成功,我无法在此部分添加功能。

我想知道是否需要在每个页面上添加此事件,以及它是否在托管页面上运行,或者由于其他原因而无法运行。

在我的托管页面上,我使用以下代码:

JS

$(document).ready(function(){

document.addEventListener("deviceready",onDeviceReady,false); // Cordova is ready to be used!

function onDeviceReady() {
       DO SOMETHING !
}
});

HTML

<script type="text/javascript" src="/js/cordova-2.1.0.js"></script>
<script type="text/javascript" src="/js/libs/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/js/libs/jquery-ui.js"></script>
<script defer src="/js/script.js"></script>

我使用Cordova 2.1并在iPad模拟器上进行测试 我已经在externalHosts中添加了我的外部网站

非常感谢

1 个答案:

答案 0 :(得分:1)

如果你在onDeviceReady()之后(或之内)调用外部页面,你只需要确保你有本地PhoneGap / Cordova引用(在远程位置),你就可以使用PhoneGap函数。

例如:

function onDeviceReady()
{

    window.location.href = "http://<myRemoteServer>/myRemoteDefault.htm";
}

myRemoteDefault.htm将有

<script type="text/javascript" src="./cordova-2.1.0.js"></script>

<script>
        alert(device.platform);
</script>