diff --git a/src/SharpWebview/SharpWebview.csproj b/src/SharpWebview/SharpWebview.csproj index 5191606..430cc55 100644 --- a/src/SharpWebview/SharpWebview.csproj +++ b/src/SharpWebview/SharpWebview.csproj @@ -8,7 +8,7 @@ Gerrit 'Geaz' Gazic C# bindings for zserge/webview - Batteries included SharpWebview - 0.12.0 + 0.12.1 MIT https://github.com/webview/webview_csharp diff --git a/src/SharpWebview/Webview.cs b/src/SharpWebview/Webview.cs index 41ce3bb..47fb772 100644 --- a/src/SharpWebview/Webview.cs +++ b/src/SharpWebview/Webview.cs @@ -14,6 +14,7 @@ public class Webview : IDisposable { private bool _disposed = false; private bool? _loopbackEnabled = null; + private bool _skipLoopbackCheck = false; private List callbacks = new List(); private List dispatchFunctions = new List(); @@ -29,13 +30,17 @@ public class Webview : IDisposable /// /// Set to true, top open external links in system browser. /// - public Webview(bool debug = false, bool interceptExternalLinks = false) + /// + /// Set to true to skip checking for the loopback exception. + /// + public Webview(bool debug = false, bool interceptExternalLinks = false, bool skipLoopbackCheck = false) { _nativeWebview = Bindings.webview_create(debug ? 1 : 0, IntPtr.Zero); if(interceptExternalLinks) { InterceptExternalLinks(); } + _skipLoopbackCheck = skipLoopbackCheck; } /// @@ -279,8 +284,10 @@ private string ExtractUrlArgument(string jsonArray) private bool? CheckLoopbackException(string url) { + if (_skipLoopbackCheck) + return true; // https://docs.microsoft.com/de-de/windows/win32/sysinfo/operating-system-version - if(Environment.OSVersion.Version.Major < 6 || (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor < 2)) + else if(Environment.OSVersion.Version.Major < 6 || (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor < 2)) return true; else if(!url.Contains("localhost") && !url.Contains("127.0.0.1")) return null;