public WKWebView CreateWebView( WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures) { UIApplication.SharedApplication.OpenUrl(navigationAction.Request.Url); return(null); }
public override WKWebView CreateWebView(WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures) { if (navigationAction.TargetFrame == null) { var url = navigationAction.Request.Url; var descr = url.Description.ToLower(); if (descr.Contains("http://") || descr.Contains("https://") || descr.Contains("mailto:")) { UIApplication.SharedApplication.OpenUrl(url); } } return(null); }
public override WKWebView CreateWebView(WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures) { if (this.Log().IsEnabled(Microsoft.Extensions.Logging.LogLevel.Debug)) { this.Log().Debug($"CreateWebView: TargetRequest[{navigationAction?.TargetFrame?.Request?.Url?.ToUri()}] Request:[{navigationAction.Request?.Url?.ToUri()}]"); } return(_createWebView?.Invoke(webView, configuration, navigationAction, windowFeatures)); }
private WKWebView OnCreateWebView(WKWebView owner, WKWebViewConfiguration configuration, WKNavigationAction action, WKWindowFeatures windowFeatures) { Uri target; if (action?.TargetFrame != null) { target = action?.TargetFrame.Request?.Url?.ToUri(); } else { target = action.Request.Url.ToUri(); } var args = new WebViewNewWindowRequestedEventArgs( referrer: action.SourceFrame?.Request?.Url?.ToUri(), uri: target ); _parentWebView.OnNewWindowRequested(args); if (args.Handled) { return(null); } else { var navigationArgs = new WebViewNavigationStartingEventArgs() { Cancel = false, Uri = target }; _parentWebView.OnNavigationStarting(navigationArgs); if (!navigationArgs.Cancel) { if (UIKit.UIApplication.SharedApplication.CanOpenUrl(target)) { UIKit.UIApplication.SharedApplication.OpenUrl(target); _parentWebView.OnComplete(target, isSuccessful: true, status: WebErrorStatus.Unknown); } else { _parentWebView.OnNavigationFailed(new WebViewNavigationFailedEventArgs() { Uri = target, WebErrorStatus = WebErrorStatus.Unknown }); } } } return(null); }
public WKWebView CreateWebView(WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures) { try { if (navigationAction.TargetFrame == null) { if (UIApplication.SharedApplication.KeyWindow.RootViewController is UIViewController parentViewController && navigationAction.Request.Url is NSUrl url) { var safariView = new SFSafariViewController(url); parentViewController.PresentViewController(safariView, true, null); safariView.Delegate = this; } } } catch { } return(null); }
public virtual WKWebView CreateWebView(WKWebView webView, WKWebViewConfiguration configuration, WKNavigationAction navigationAction, WKWindowFeatures windowFeatures) { // First option - but this is not suitable for me //UIApplication.SharedApplication.OpenUrl(navigationAction.Request.Url); //return null; // end first option // Second option - but it cause some other problem to me var request = new NSMutableUrlRequest(navigationAction.Request.Url); Control.LoadRequest(request); return(null); // end Second option }