Cordova:我可以在 div 中显示本机应用程序组件吗?
Posted
技术标签:
【中文标题】Cordova:我可以在 div 中显示本机应用程序组件吗?【英文标题】:Cordova: can I display a native application component in a div? 【发布时间】:2013-05-12 03:33:16 【问题描述】:我正在考虑使用 Cordova 构建移动应用程序。主要驱动因素是我希望能够将我的应用程序移植到多个平台,而无需重新编写表示层。我喜欢 Angular 和 jQuery Mobile,我觉得与开发多个原生表示层相比,它们可以更轻松地制作出高质量的表示。
需要注意的是,应用程序的一个组件稍微复杂一些。我想利用原生 SDK 来编写这个特定的组件,并让它与我的应用程序的其余部分无缝地工作——作为一个嵌入式子视图。我认为我可以通过编写一个 Cordova 插件来优雅地解决这个问题。阅读文档,我了解了如何编写“无头”插件,或者在 Web 视图前弹出打开的插件,并在其处于活动状态时覆盖显示。但是我可以在 web-app 内的 <div>
中显示带有 UI 的插件吗?
例如,假设我的原生组件是原生的“地址簿”视图(在 ios 中,这个模块有一个 ViewController 来呈现它的显示)。我想将它呈现在页面中 <div>
的某个位置,在那里我仍然可以看到我的应用程序标题 - 在我完成选择之前不要让它在我的整个应用程序上方弹出。
我发现可以将 CordovaWebView 嵌入到本机应用程序中。但我想知道是否也可以采用其他方式。
【问题讨论】:
你有没有想过弗雷德里克?我面临着类似的问题:***.com/q/21767146/527559 没有任何直接的方式,没有 【参考方案1】:据我所知,Cordova/PhoneGap 不允许在 webview 中使用本机组件。
有一个用于访问设备联系人列表/地址簿here的插件。有了这个,您可以获得所有联系人的列表,并将它们与您自己的 UI 一起插入到您的应用程序中。可能需要做更多的工作,但应该可以完成工作。
【讨论】:
【参考方案2】:您可以在 webview 中使用原生组件,但不能将它们嵌入到 html 元素中,这意味着原生组件将保留在 html 之上。
通过一些工作,您可以使其适合 div 位置,因此它似乎在 div 内部,但如果您的 html 页面有滚动,则可能很难甚至不可能使本机视图移动卷轴。
【讨论】:
以上是关于Cordova:我可以在 div 中显示本机应用程序组件吗?的主要内容,如果未能解决你的问题,请参考以下文章
在 Cordova 中发送和阅读通过本机 SMS 应用程序发送的 SMS 内容
在 PhoneGap/Cordova 1.5.0 中显示启动画面
如何使用手机的本机应用程序打开图像 - Cordova / phonegap