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 插件。

                    關聯標簽:
                    无码精品人妻一区二区三区软件