1. ホーム
  2. ios

[解決済み] WKWebViewがtarget="_blank "のリンクを開けないのはなぜですか?

2022-05-12 22:58:18

質問

WKWebView が付いているリンクは開きません。 target="_blank" 新しいウィンドウで開く'属性です。 <a href> -タグを使用します。

解決方法は?

私の解決策は、ナビゲーションをキャンセルし、再度loadRequest:でリクエストを読み込むことです。これは、常に現在のフレームに新しいウィンドウを開くUIWebViewと同様の動作になります。

を実装します。 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;
}