簡體   English   中英

如何在不使用 Uno.UI 的情況下從 Xamarin.Forms 應用程序調用 JavaScript?

[英]How to Invoke JavaScript from Xamarin.Forms app without using Uno.UI?

我有一個 Xamarin.Forms 應用程序,它通過Uno Platform投影到 WASM。 單擊或點擊后我需要打開一個網絡鏈接。 我用以下方法解決:

 try // Uwp & iOS & Android
            {
                await Browser.OpenAsync(new Uri("http://localhost"), BrowserLaunchMode.SystemPreferred); // Open url in-app browser for iOS & Android- native in UWP
            }
            catch (NotImplementedInReferenceAssemblyException ex) //Wasm falls here because lack of Xamarin.Essentials.
            {
                await DisplayAlert("Hata", "Not supported on WASM", "Anladım"); // Show the info about exception.



            }

對於 Xamarin。 Android & iOS 和 UWP(Windows)。 但是,Xamarin.Essentials 還不能在 WASM 上運行。 所以我需要調用 Javascript 並運行以下代碼:

function openPage(x) {
    window.open(x);
}

我嘗試使用 UNO.Foundation

WebAssemblyRuntime.InvokeJS("(function(){location.href=\"https://www.wikipedia.com/\";})();");

但是,它會干擾 UWP UI 類並破壞我的項目。 如何在不使用 UNO.Foundation 類的情況下從 Xamarin.Forms 頁面 C# 后端調用 Javascript? 謝謝。

您可以使用混合 webview 然后注入 JavaScript 代碼來檢測此 web 視圖上的每次點擊https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/hybridwebview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM