在带有外部 URL 的 iOS 上使用 PhoneGap/Cordova
Posted
技术标签:
【中文标题】在带有外部 URL 的 iOS 上使用 PhoneGap/Cordova【英文标题】:Using PhoneGap/Cordova on iOS with external URL 【发布时间】:2013-03-11 16:28:40 【问题描述】:我希望我的 phonegap/cordova 应用加载外部页面,而不是本地页面。
现在我这样做了,但是我的插件 (javascript) 不起作用,因为它们是从本地 index.html 调用的。
在这种情况下我该怎么办?我应该将插件放在我的外部 URL 上并将它们加载到外部 index.html 上吗?我也应该在那里加载cordova-2.5.0.js?
如果这是唯一的方法,如果我想加载一个我不拥有服务器的外部页面,但我想启用推送通知,会发生什么?
如何启用这些插件?
【问题讨论】:
我试过了,但设备准备就绪不会不惜一切代价调用。 【参考方案1】:d0nparaalias,
看看这个项目:https://dl.dropbox.com/u/930742/so/CordovaBrowserSO.zip
如您所见,里面没有 index.html
或 www/
文件夹。
所有文件都已上传到服务器,应用程序将根据需要下载它们。
我已经通过执行 p.1 中的步骤来完成它。来自https://***.com/a/15319156/753878的回答。
在服务器上,您可以在使用模板 Cordova 项目创建的基本 www/
文件夹中看到所有文件:
您在服务器上直接包含在index.html
中的所有插件和内容。
如果您从上面的存档中查看config.xml
,您会看到<content src="http://dymv.comeze.com/www/index.html" />
启动时的应用会说:
希望这是您想要达到的目标。 如果不是 - 请提供有关您想要达到的结果的更多信息。
BR. 尤金
【讨论】:
另一个很好的答案。这正是我所需要的。总而言之,无论我想要/需要使用什么插件,我都将所有 javascript 放在服务器端,然后将其包含在我的外部 index.html 中?我尝试了 pushnotifications 插件,我将所有本机代码放入我的应用程序,并将我的 javascript 包含在我服务器上的外部 url 中,一切正常。但我有一个问题。当我试图从我的项目中手动删除 www 文件夹时,当我启动 xcode 时,我收到一个关于文件夹丢失的错误。所以最后我使用了你的 xcode 项目。你是如何做到没有错误的? 另外你能告诉我在 phonegap 2.1 上让应用程序加载一个外部 url 的过程是什么,那里没有 config.xml ,但是一个 .plist ? >所以最后我使用了你的 xcode 项目。你是如何做到没有错误的?//// 你应该删除 Build Phases 中的脚本,它将 www 文件夹复制到我猜的 Bundle 中。跨度> 是的,你是对的!现在完美运行!我该怎么做:window.loadURL = function(url)
navigator.app.loadUrl(url, openExternal:true );
return false;
在标签中使用它,例如
<a href='#' onclick="window.loadUrl('http://google.com'); return false;">open</a>
【讨论】:
以上是关于在带有外部 URL 的 iOS 上使用 PhoneGap/Cordova的主要内容,如果未能解决你的问题,请参考以下文章
如何打印(在屏幕上)带有外部 url 的 iframe 所需的所有 JS 代码
cordova inappbrowser 无法在 iOS 上打开外部 url
在 iOS 9 问题上使用 Alamofire 上传带有 URL 参数的图像