我有一个 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?谢谢。