【问题标题】:Cordova: can I display a native application component in a div?Cordova:我可以在 div 中显示本机应用程序组件吗?
【发布时间】:2013-05-12 03:33:16
【问题描述】:

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

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

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

我发现可以将 CordovaWebView 嵌入到本机应用程序中。但我想知道是否也可以采用其他方式。

【问题讨论】:

标签: ios html cordova phonegap-plugins


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多