SAP UI5 barcode 控件的 feature 檢查探測機制單步調試 - checkCordovaInIframe
小編:管理員 822閱讀 2022.09.13
第 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 插件。
相關推薦
- Cordova 什么是Cordova? Cordova是用于使用HTML,CSS和JS構建移動應用的平臺。我們可以認為Cordova是一個容器,用于將我們的網絡應用程序與本機移動功能連接。默認情況下,Web應用程序不能使用本機移動功能。這就是Cordova進來的地方。它為網絡應用和移動設備之間的連…
- 3DMAX提示和技巧 本主題標識使用 Civil View 的一些重要提示和技巧。常規使用屏幕分辨率至少為 1280x1024 的 Civil View。低于此分辨率時,一些面板將占用過多屏幕空間。 將視口設置為線框顯示以達到最佳性能。 要盡可能簡化用戶界面,請在單個視口中工作并關閉 3ds Max 命令面…