iOS WebView (捕获重定向 URL)
由于 WKWebView 位于 iOS 系统级别,并且无法通过 API 直接访问或修改,因此受 iOS 的严格限制。为了捕获重定向 URL,建议使用以下方法:
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
if navigationAction.targetFrame == nil {
webView.load(navigationAction.request)
}
return nil
}解决方案说明
navigationAction.targetFrame == nil:此条件判断确保了当目标框架不存在时(通常发生在页面重定向时),WebView 会加载新的请求,而不是默认的行为。避免窗口打开:当
targetFrame为nil时,WebView 会加载请求,避免弹出新窗口,确保重定向 URL 的正确捕获。
此方法有助于捕获并处理所有来自 WebView 的重定向请求。
最后更新于
这有帮助吗?