From 1214d8c00c5fd471abd15336ef297d522657cbd1 Mon Sep 17 00:00:00 2001 From: Rui Mendes Date: Tue, 7 Apr 2026 17:50:22 +0100 Subject: [PATCH] fix: window.open() handling in WKWebView by implementing createWebViewWith delegate --- Sources/OSInAppBrowserLib/WebView/OSIABWebViewModel.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Sources/OSInAppBrowserLib/WebView/OSIABWebViewModel.swift b/Sources/OSInAppBrowserLib/WebView/OSIABWebViewModel.swift index cb8d2d6..d581500 100644 --- a/Sources/OSInAppBrowserLib/WebView/OSIABWebViewModel.swift +++ b/Sources/OSInAppBrowserLib/WebView/OSIABWebViewModel.swift @@ -260,6 +260,14 @@ extension OSIABWebViewModel: WKUIDelegate { return alert } + func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? { + if navigationAction.targetFrame == nil, let url = navigationAction.request.url { + webView.load(URLRequest(url: url)) + } + return nil + } + + func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping () -> Void) { let result = createAlertController( withBodyText: message,