Criar uma nova página na etiqueta janela WebView é target = "_ blank" quando não há resposta

Se WebView página rótulo <a> vinculado é target = "_ blank", e seu WebView e não fez qualquer tratamento, desta vez será inválido situação cliques, não é de alguma forma?

-alvo definido por uma pluralidade de tipos
_blank: Ligação disse que vai abrir uma nova janela
_self: Permite que a janela atual ou o quadro onde o link (o padrão)
_parent: Permite ligação na janela pai ou quadro
_top: para abrir um novo link no quadro representação nível superior
ele também pode especificar diretamente o nome de quadro para o alvo, mas também representa um link em uma estrutura aberta, tais como clicar CSDN na árvore esquerda, abrir um novo link é este à direita!

A solução é simples, herança WebChromeClient, reescrita onCreateWindow é a chave,

1, primeiro configurar, ou não vai retornos de chamada:

webSetting.setSupportMultipleWindows(true);
Em segundo lugar, em seguida olhar para o código:
@Override
public boolean onCreateWindow(WebView webView, boolean isDialog, boolean isUserGesture, Message resultMsg) {

    X5WebView x5WebView = new X5WebView(activity);


    X5WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
    x5WebView.setWebChromeClient(new CustomWebChromeClient(activity));
    x5WebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            //拦截url,跳转新窗口
            if (activity != null) {
                Intent intent = new Intent(activity, MyWebActivity.class);
                intent.putExtra(Constants.INTENT_KEY_URL, url);
                activity.startActivity(intent);
            }
            //防止触发现有界面的WebChromeClient的相关回调
            return true;
        }
    });
    transport.setWebView(x5WebView);
    resultMsg.sendToTarget();

    return true;
}

Publicado 59 artigos originais · Louvor obteve 88 · vista 190 000 +

Acho que você gosta

Origin blog.csdn.net/geofferysun/article/details/79570182
Recomendado
Clasificación