将 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 视频
Phonegap 应用程序提交到 AppStore - ITMS-9000 错误