Javascript 远程加载Cordova/PhoneGap应用程序

Javascript 远程加载Cordova/PhoneGap应用程序,javascript,ios,cordova,Javascript,Ios,Cordova,关于Cordova 3.4: 我在互联网上遇到过很多关于使用cordova/phonegap远程加载网页的帖子,但我一直无法让它正常工作。我读过github和其他各种帖子上的问题和建议 我通过config.xml中的内容设置直接加载url(下面的示例在我的本地开发机器上,但与我在公司防火墙中使用的url无关)。我也尝试过在url中添加window.location,但这也不起作用 <content src="http://192.168.96.97:3004/#reference" /&g

关于Cordova 3.4:

我在互联网上遇到过很多关于使用cordova/phonegap远程加载网页的帖子,但我一直无法让它正常工作。我读过github和其他各种帖子上的问题和建议

我通过config.xml中的内容设置直接加载url(下面的示例在我的本地开发机器上,但与我在公司防火墙中使用的url无关)。我也尝试过在url中添加window.location,但这也不起作用

<content src="http://192.168.96.97:3004/#reference" />
这是我的密码:

<html><head>
<title>Cordova Test</title>
<script src="cordova.js"></script>
<script src="cordova_plugins.js"></script>
<script src="plugins/org.apache.cordova.device/www/device.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/Coordinates.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/PositionError.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/Position.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/geolocation.js"></script>
<script src="plugins/org.apache.cordova.network-information/www/network.js"></script>
<script src="plugins/org.apache.cordova.network-information/www/Connection.js></script>
<script>

    // Wait for device API libraries to load
    function onLoad() {
        alert("onload..."); // this displays
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // device APIs are available
    function onDeviceReady() { // this never fires
        // Now safe to use device APIs
        alert("deviceready...");
        console.log("deviceready...");
    }

</script>
</head>
<body onload="onLoad();" style="">
    hello! :)
</body></html>

科尔多瓦试验

在添加deviceready事件侦听器之前,不要等待onload启动。我怀疑deviceready已经开火了,因此你不会让你的处理者打电话。即使未加载cordova,它也包含要激发的逻辑,即使对于加载前注册的侦听器也是如此


此外,cordova将添加脚本标记以加载其自身的依赖项,因此您只需包含cordova.js脚本标记。

对于我来说,设备就绪会触发,但调用时,services.js中仍未定义window.plugins,例如PushNotification.initialize。我已经在Android上测试过了,但还没有在iOS上测试过。如果使用Cordova 4.0.0/Ionic 1.2.8 Hello Jason,这一切都会顺利进行。请看一看:我们决定使用本地资产,这些资产是使用grunt任务从rails项目导入的。好吧,Cordova将触发document ready事件,即使您在最初触发事件后添加事件侦听器
<html><head>
<title>Cordova Test</title>
<script src="cordova.js"></script>
<script src="cordova_plugins.js"></script>
<script src="plugins/org.apache.cordova.device/www/device.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/Coordinates.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/PositionError.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/Position.js"></script>
<script src="plugins/org.apache.cordova.geolocation/www/geolocation.js"></script>
<script src="plugins/org.apache.cordova.network-information/www/network.js"></script>
<script src="plugins/org.apache.cordova.network-information/www/Connection.js></script>
<script>

    // Wait for device API libraries to load
    function onLoad() {
        alert("onload..."); // this displays
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // device APIs are available
    function onDeviceReady() { // this never fires
        // Now safe to use device APIs
        alert("deviceready...");
        console.log("deviceready...");
    }

</script>
</head>
<body onload="onLoad();" style="">
    hello! :)
</body></html>