diff --git a/src/Browser/Avalonia.Browser/Interop/NavigationHelper.cs b/src/Browser/Avalonia.Browser/Interop/NavigationHelper.cs index d392cc54af..824ea9e06d 100644 --- a/src/Browser/Avalonia.Browser/Interop/NavigationHelper.cs +++ b/src/Browser/Avalonia.Browser/Interop/NavigationHelper.cs @@ -16,7 +16,7 @@ internal static partial class NavigationHelper .OnBackRequested() ?? false; return Task.FromResult(handled); } - - [JSImport("globalThis.open")] - public static partial JSObject? WindowOpen(string uri, string target); + + [JSImport("NavigationHelper.openUri", AvaloniaModule.MainModuleName)] + public static partial bool WindowOpen(string uri, string target); } diff --git a/src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs b/src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs index e046a7947d..b875d90bcd 100644 --- a/src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs +++ b/src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs @@ -13,8 +13,7 @@ internal class BrowserLauncher : ILauncher if (uri.IsAbsoluteUri) { - var window = NavigationHelper.WindowOpen(uri.AbsoluteUri, "_blank"); - return Task.FromResult(window is not null); + return Task.FromResult(NavigationHelper.WindowOpen(uri.AbsoluteUri, "_blank")); } return Task.FromResult(false); } diff --git a/src/Browser/Avalonia.Browser/webapp/modules/avalonia/navigationHelper.ts b/src/Browser/Avalonia.Browser/webapp/modules/avalonia/navigationHelper.ts index ee594fe85c..0b84494140 100644 --- a/src/Browser/Avalonia.Browser/webapp/modules/avalonia/navigationHelper.ts +++ b/src/Browser/Avalonia.Browser/webapp/modules/avalonia/navigationHelper.ts @@ -11,4 +11,8 @@ export class NavigationHelper { } }; } + + public static openUri(uri?: string, target?: string) { + return !!window.open(uri, target); + } }