From 2ac2e2249b163ea06db4edfe5129f0c7e6d6a5e1 Mon Sep 17 00:00:00 2001 From: zeng Date: Tue, 9 Jun 2026 14:35:13 +0800 Subject: [PATCH] 1 --- .../AppleWebLogin/AppleWebLoginCore.swift | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/AppleParty/AppleParty/LoginView/AppleWebLogin/AppleWebLoginCore.swift b/AppleParty/AppleParty/LoginView/AppleWebLogin/AppleWebLoginCore.swift index 42cf296..1aa040b 100644 --- a/AppleParty/AppleParty/LoginView/AppleWebLogin/AppleWebLoginCore.swift +++ b/AppleParty/AppleParty/LoginView/AppleWebLogin/AppleWebLoginCore.swift @@ -27,6 +27,7 @@ public class AppleWebLoginCore: NSObject, WKUIDelegate, WKNavigationDelegate { let contentController = WKUserContentController() let configuration = WKWebViewConfiguration() configuration.defaultWebpagePreferences.allowsContentJavaScript = true + configuration.preferences.javaScriptCanOpenWindowsAutomatically = true configuration.userContentController = contentController configuration.preferences.setValue(true, forKey: "allowFileAccessFromFileURLs") configuration.websiteDataStore = .nonPersistent() @@ -36,6 +37,7 @@ public class AppleWebLoginCore: NSObject, WKUIDelegate, WKNavigationDelegate { configuration: configuration ) associatedWebView.isHidden = true + associatedWebView.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15" super.init() @@ -52,7 +54,6 @@ public class AppleWebLoginCore: NSObject, WKUIDelegate, WKNavigationDelegate { let dataPopulationTimer = Timer(timeInterval: 1, repeats: true) { [weak self] _ in guard let self else { return } - removeUnwantedElements() populateData() } RunLoop.main.add(dataPopulationTimer, forMode: .common) @@ -124,4 +125,16 @@ public class AppleWebLoginCore: NSObject, WKUIDelegate, WKNavigationDelegate { } } } + + public func webView( + _ webView: WKWebView, + createWebViewWith configuration: WKWebViewConfiguration, + for navigationAction: WKNavigationAction, + windowFeatures: WKWindowFeatures + ) -> WKWebView? { + if navigationAction.targetFrame == nil { + webView.load(navigationAction.request) + } + return nil + } }