Target = ” _blank “をAndroid WebViewでブロックする方法
Android WebViewでリンクを新しいウィンドウで開かないようにするには、WebViewClientクラスのshouldOverrideUrlLoadingメソッドでリンククリックイベントをインターセプトし、現在のWebViewでリンクを読み込みます。
まず、WebViewClientクラスのカスタムを作成する。以下を参照。
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
}
次に、WebViewインスタンスにこのWebViewClientをアクティビティやフラグメントで設定します。以下を参照してください。
WebView webView = findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());
そのようにすることで、ユーザーがリンクをクリックした際に、 WebView がイベントをインターセプトし、そのリンクを現在開いている WebView にロードし、新しいウィンドウで開かれることはありません。