4

我正在考虑使用 Cordova 构建移动应用程序。主要驱动因素是我希望能够将我的应用程序移植到多个平台,而无需重新编写表示层。我喜欢 Angular 和 jQuery Mobile,我觉得与开发多个本机表示层相比,它们可以用更少的工作量生成高质量的表示。

需要注意的是,应用程序的一个组件稍微复杂一些。我想利用原生 SDK 来编写这个特定的组件,并让它与我的应用程序的其余部分无缝地工作——作为一个嵌入式子视图。我认为我可以通过编写一个 Cordova 插件来优雅地解决这个问题。阅读文档,我了解了如何编写“无头”插件,或者在 Web 视图前弹出打开的插件,并在其处于活动状态时覆盖显示。<div>但是我可以在 web 应用程序中显示带有 UI 的插件吗?

例如,假设我的原生组件是原生的“地址簿”视图(在 iOS 中,这个模块有一个 ViewController 来呈现它的显示)。我想<div>在页面中的某个地方呈现它,在那里我仍然可以看到我的应用程序标题 - 在我完成我的选择之前,不要让它在我的整个应用程序上方弹出。

我看到可以将 CordovaWebView 嵌入到本机应用程序中。但我想知道反过来是否也是可能的。

4

2 回答 2

0

您可以在 webview 中使用原生组件,但不能将它们嵌入到 html 元素中,这意味着原生组件将保留在 html 之上。

通过一些工作,您可以使其适合 div 位置,因此它似乎在 div 内部,但如果您的 html 页面有滚动,则可能很难甚至不可能使本机视图随滚动移动。

于 2014-04-08T07:17:31.907 回答
0

据我所知,Cordova/PhoneGap 不允许在 webview 中使用本机组件。

这里有一个用于访问设备联系人列表/地址簿的插件。有了这个,您可以获得所有联系人的列表,并将它们与您自己的 UI 一起插入到您的应用程序中。这可能需要做更多的工作,但它应该可以完成工作。

于 2014-04-07T13:59:00.760 回答