将 Web 应用程序嵌入到 PhoneGap(针对 iPhone)的选项?

Posted

技术标签:

【中文标题】将 Web 应用程序嵌入到 PhoneGap(针对 iPhone)的选项?【英文标题】:Options for embedding web app into PhoneGap (targeting iPhones)? 【发布时间】:2011-12-22 21:46:54 【问题描述】:

我们有一个使用 jQuery Mobile 构建的现有网络应用程序。

我们的目标是保留 Web 应用程序的动态功能(即立即将更改部署到所有用户),同时通过本机 shell 访问 Apple App Store(并通过 PhoneGap API 访问其他功能)。

据我们了解,以下是将现有 Web 应用程序(使用 jQuery Mobile 构建)嵌入到 PhoneGap 应用程序的选项:

1) 重写应用程序以在本地(而不是服务器)引用文件(例如,图像、声音、页面),并将网络应用程序的第一页重命名为“index.html”。

2) 在引用 Web 应用的简单 PhoneGap 应用中嵌入 iFrame。这不需要对网络应用程序进行任何更改,但需要更改 PhoneGap 配置文件以允许外部源在 iFrame 中打开,而不是在移动 Safari 中打开。

3) 在PhoneGap 应用程序中使用jQuery Mobile,在“index.html”加载后立即使用$.mobile.changePage 并加载web 应用程序。这样可以避免 iFrame。

还有其他选择吗?任何人都可以分享他们对这些方法的经验吗?它们中的任何一个有什么缺点吗?

谢谢!

【问题讨论】:

【参考方案1】:

你需要:

    引用phonegap.js 将您的第一个文件命名为 index.html 在配置文件中配置方向、不同的视图模式以及应用程序中使用的设备服务 准备就绪

即使您没有在本地引用文件,应用程序也会去获取远程静态文件(这是一个 WebKit 视图..),因此也不需要 iFrame。

JQuery mobile 与Phonegap 配合得很好,不会踩到对方的脚,所以这边不用担心。

已编辑:

在名为 PhoneGap.plist 的文件中完成了一些配置。 这就是

    您启用禁用某些 PhoneGap 功能, 设置要在 PhoneGap 或 Safari 中处理的主机列表 声明要包含在应用程序中的其他 PhoneGap 插件

【讨论】:

谢谢,尼古拉斯!抱歉,澄清一下,如果文件最初是相对于服务器的,则需要在本地重命名文件。否则,您是对的——如果文件是绝对命名的,则无需重命名。 配置文件的意思是:build.phonegap.com/docs/config-xml。对吗? 确实,完全正确。完成后我有机会看到应用程序吗? ;) 我已经用我正在谈论的配置文件更新了我的答案。

以上是关于将 Web 应用程序嵌入到 PhoneGap(针对 iPhone)的选项?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Phonegap 在 Android 上嵌入 YouTube 视频

如何将 .asp Web 应用程序应用到 phonegap

不同域上的 PhoneGap 应用程序和 WCF 服务

Phonegap 应用程序提交到 AppStore - ITMS-9000 错误

Phonegap / Cordova Youtube 在 iOS 上嵌入视频不起作用

Wistia 视频未出现在 iOS 上的 Phonegap 应用程序中