在浏览器中打开 Cordova 应用程序时无法测试它

Posted

技术标签:

【中文标题】在浏览器中打开 Cordova 应用程序时无法测试它【英文标题】:Can't test Cordova app when open it in browser 【发布时间】:2015-03-04 13:16:53 【问题描述】:

我使用 4.3.0 版本和 ios 项目创建了一个 Cordova 应用程序。

每当我在桌面浏览器中打开 index.html(www 文件夹)文件时,它都会陷入无限循环,请求 gap: //准备好了

为什么会这样?我该如何解决?

非常感谢。

编辑和更新:

iOS 应用无法运行,因为缺少插件:https://github.com/apache/cordova-plugin-network-information/blob/master/doc/index.md

我添加了它,然后再次构建项目,它工作了。

【问题讨论】:

【参考方案1】:

你不能在普通浏览器上测试iOS项目,如果你想在浏览器上测试,添加浏览器平台

cordova platform add browser

然后

cordova run browser

【讨论】:

感谢 jcesarmobile。尽管如此,当我运行 XCode 项目时,它仍然无法正常工作,因为我首先描述了同样的问题。 你能发布你的 index.html 吗? 我按照你说的做了,在做cordova run browser时确实有效。现在,当运行 ios 模拟器时,应用程序卡住了。当指向远程 url 时,我使用了三个事件:'deviceready'、'online' 和 'offline'。 'online' 事件是触发重定向的事件。 你能发布你的 index.html 吗? 把document.addEventListener('offline', LHH.offline, false); document.addEventListener('online', LHH.online, false);在 device_ready 内【参考方案2】:

不要这样做。使用 XAMPP/WAMP 以正常方式制作您的网站。复制所有相同的代码和文件夹。然后检查它。无论您在 XAMPP 站点中进行什么更改,都请在 PhoneGap 中进行更新。这种方式更容易。

【讨论】:

什么?不,也不要这样做。首先,如果您只有 html、css 和 javascript,则不需要 XAMP/WAMP,任何浏览器都可以在没有服务器的情况下打开它。但无论如何,你不能以这种方式测试cordova API,将每一个变化从一个地方复制到另一个地方是很疯狂的 我刚刚构建了 iOS 应用程序,因为该站点已启动,并且在 index.html 文件中,我只是调用远程 url,但我不断收到此重定向作为一个无限循环。我还做了一件事,它从 cordova.js 文件中注释第 1047 行,它基本上告诉窗口去那里: execIframe.contentWindow.location = 'gap://ready';【参考方案3】:

两个答案都错了。最正确的方式是在你的手机模拟器或真机上运行。

安卓版

cordova emulate android

对于 ios,你需要一台 Mac 机器和 Xcode。

【讨论】:

感谢您的回答。真正的问题是缺少插件(请参阅问题)。 这甚至不是一个答案,如果问题是如何在浏览器上运行?你不能回答,在android上运行它,大声笑

以上是关于在浏览器中打开 Cordova 应用程序时无法测试它的主要内容,如果未能解决你的问题,请参考以下文章

在浏览器中测试姜饼Cordova

Phonegap / Cordova ios外部链接iframe无法在safari中打开

在普通桌面浏览器中进行测试时,如何将 sqlite 与 cordova 一起使用?

Cordova 应用程序在启动时打开一个外部 URL

Cordova iOS无法打开链接

如何在 Cordova 应用程序中使用 PayPal 结账