我对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中添加了我的外部网站
非常感谢
答案 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>