iOS WebView (about:blank) 问题
在 iOS WebView 中处理 about:blank 页面时,您可以通过实现 WKUIDelegate 委托,并将其设置为 _webview.uiDelegate 来解决此问题。然后,您需要实现以下方法:
(WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures {
if (!navigationAction.targetFrame.isMainFrame) {
[webView loadRequest:navigationAction.request];
}
return nil;
}解决方案说明
实现
WKUIDelegate:WKUIDelegate协议用于处理与 WebView UI 相关的任务。处理新的窗口请求: 如果请求的目标框架不是主框架(即
navigationAction.targetFrame.isMainFrame为NO),则通过loadRequest方法将该请求加载到 WebView 中。这可以防止新窗口打开,解决about:blank的问题。
最后更新于
这有帮助吗?