javascript - 远程加载 Cordova/PhoneGap 应用程序

标签 javascript ios cordova

关于 Cordova 3.4:

我在互联网上看到过各种关于使用 cordova/phonegap 远程加载网页的帖子,但我无法让它工作。我看过问题#28#29在 github 和其他各种帖子上。

我通过 config.xml 中的内容设置直接加载 url(下面的示例是在我的本地开发机器上,但我在公司防火墙中使用哪个 url 并不重要)。我也尝试过对 url 执行 window.location,但这也不起作用。

<content src="http://192.168.96.97:3004/#reference" />

除了没有触发 deviceready 事件外,页面加载正常。 cordova 应用程序本地的 www 文件有效,只是没有远程。

我得到:

deviceready has not fired after 5 seconds.    cordova.js?body=1:1117
Channel not fired: onCordovaInfoReady         cordova.js?body=1:1110
Channel not fired: onCordovaConnectionReady   cordova.js?body=1:1110

这是我的代码:

<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 脚本标签。

关于javascript - 远程加载 Cordova/PhoneGap 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23658883/

相关文章:

c# - 同时执行 Javascript 和 Controller ActionResult

javascript - 意外的 : HTTP request handler function called twice for each request

ios - iTunesConnect - 如果我不提交 5. 8"display screenshots, will my 5.5"屏幕截图而不是显示给使用 iPhone X 的人?

ios - SpriteKit 关卡编辑器纹理图集

javascript - PhoneGap 事件 volumeupbutton 和 volumedownbutton 不工作

javascript - Ajax调用一开始不起作用,后来调用成功

javascript - JS中agGrid显示二维数组

javascript - 自动填充文本框并模拟网页中的按钮单击

ios - 在 Facebook Developers App 上添加多个 iOS 包 ID 的通配符?

javascript - 如何将 HTML 数组中的所有元素显示为可点击对象?