第 170 行 checkCordovaInIframe
是检测 Cordova API 在 iframe
里的可用性,这里能够疏忽。
oCordovaScannerAPI
默认为 null
.
进入 getFeatureAPI
分支:
这里试图从 cordova.plugins.barcodeScanner
获取 oCordovaScannerAPI
.
因为我没有装置,所以这个 API 不可用:
进入异样处理函数,进行 getZXingAPI
的 fallback 解决:
Kapsel 是一组插件,可通过简化登录到 SMP 3.0 服务器、OData 调用的离线拜访、更新已部署应用程序的能力、加密存储和推送告诉等性能来加强 Apache Cordova。
SAP Fiori Client 围绕 Apache Cordova 架构设计,其中设施 API 和自定义性能通过插件增加。
下表显示了 SAP Fiori Client 1.8(iOS、Android 和 Windows)中蕴含的插件。
如果开发人员应用 SAP Mobile Platform SDK(仅限 iOS 和 Android)随附的 create_fiori_client.js 脚本构建自定义 SAP Fiori 客户端,这些插件会主动增加到我的项目中。
要在实用于 Windows 10 的自定义 SAP Fiori 客户端中应用 Cordova 插件,您必须在插件和实用于 Windows 10 的自定义 Fiori 客户端之间创立一个 API 桥。
在 Windows 上,Cordova 应用程序基本上是一个 HTML5 应用程序。 因而,应用程序没有原生端,并且没有任何货色在 index.html 层下运行。 插件中的 Windows 特定代码是用 JavaScript 编写的,并与跨平台 JavaScript API 作为代理 API 一起初始化。
对于 SAP Fiori 客户端,index.html 页面是本机端容器。它包含 cordova.js 并初始化 Cordova 插件。 index.html 中有一个 webview 元素 (x-ms-webview),它关上了近程 Fiori 应用程序。
index.html 页面和近程 Fiori 应用程序(webview 中的网页)是两个齐全不同的上下文,具备不同的 DOM 和 窗口”对
。一个上下文无法访问另一个上下文的命名空间。因而,无奈间接从 webview 拜访本地上下文中先前初始化的插件。
这个问题在其余平台上通过将 cordova.js 注入近程网页(在主原生 web 视图中关上)、初始化 JavaScript Cordova API 并取得对曾经初始化的原生端的拜访来解决。
在 Windows 上将 Cordova 注入近程 Fiori 应用程序是不可能的,因为出于平安起因,不容许近程页面拜访某些 Windows API。这意味着 Fiori 应用程序无法访问任何 Cordova 插件。