第1个回答 2024-08-21
在SAP UI5 barcode 控件的feature检查探测机制中,checkCordovaInIframe 行主要用于检测Cordova API在iframe中的可用性,对于大多数情况,这部分检查可以忽略。oCordovaScannerAPI默认设置为null,其目的是在尝试获取cordova.plugins.barcodeScanner API时,如果该API不可用,程序会进入异常处理函数,进行getZXingAPI的替代处理。
Kapsel 插件为Apache Cordova提供了增强功能,如简化SMP 3.0服务器登录、OData访问优化等。SAP Fiori Client的设计基于Cordova架构,设备API和自定义功能通过插件扩展。在1.8版本的iOS、Android和Windows客户端中,预装了特定插件,如果使用SAP Mobile Platform SDK构建,这些插件会自动加入。
然而,在Windows 10的自定义SAP Fiori客户端中,由于Cordova应用本质上是HTML5,且与原生端(index.html)存在隔离,Windows上的插件代码是通过JavaScript代理API与webview交互的。index.html负责初始化Cordova插件,而webview中的Fiori应用程序是另一个独立的DOM环境,上下文隔离,导致无法直接从webview访问本地插件。
在其他平台,可以通过将Cordova集成到远程Fiori应用的主web视图来解决这个问题,但在Windows由于安全限制,不允许远程页面访问特定Windows API,因此Fiori应用程序无法访问Cordova插件,这是Windows环境下特有的挑战。