[英]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.