Android WebViewClient与JavaScript Alerts/Prompt
创始人
2024-08-19 08:30:08
0

要在Android WebViewClient中处理JavaScript的Alerts和Prompt,您可以按照以下步骤进行操作:

  1. 创建一个WebViewClient的子类,并重写onJsAlert和onJsPrompt方法。代码示例如下:
public class MyWebViewClient extends WebViewClient {
    
    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        // 处理JavaScript的Alert
        AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
        builder.setMessage(message)
                .setPositiveButton(android.R.string.ok, null)
                .setCancelable(false)
                .show();
        result.confirm(); // 确认弹窗已被处理
        return true;
    }

    @Override
    public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {
        // 处理JavaScript的Prompt
        AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
        builder.setMessage(message);
        final EditText input = new EditText(view.getContext());
        input.setText(defaultValue);
        builder.setView(input);
        builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                result.confirm(input.getText().toString()); // 获取用户输入的值并返回给JavaScript
            }
        });
        builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                result.cancel(); // 用户取消输入,返回null给JavaScript
            }
        });
        builder.setCancelable(false);
        builder.show();
        return true;
    }
}
  1. 在您的Activity或Fragment中,初始化WebView,并设置WebViewClient为我们创建的MyWebViewClient,代码示例如下:
WebView webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());

这样,当网页中有JavaScript的Alert或Prompt弹窗时,Android WebViewClient会拦截并处理它们,并显示相应的对话框供用户交互。

相关内容

热门资讯

黑科技辅助挂!wepoker透... 黑科技辅助挂!wepoker透视破解版,德扑之星透视软件免费入口官网,果然是有挂(有挂总结)1、德扑...
经调查!安装不了wepoker... 经调查!安装不了wepoker,德扑之心免费透视,确实存在有挂(有挂透明挂)1、操作简单,无需德扑之...
黑科技插件!wepoker有辅... 黑科技插件!wepoker有辅助工具吗,德扑圈有透视吗,都是真的是有挂(真实有挂)小薇(辅助器软件下...
于此同时!aapoker破解侠... 于此同时!aapoker破解侠是真的吗,德普之星透视辅助软件是真的吗,都是是真的有挂(有挂分析)暗藏...
2026版技巧!pokemmo... 2026版技巧!pokemmo手机辅助软件,红龙poker辅助,都是是有挂(有挂细节);1、首先打开...
现有关情况通报如下!wpk透视... 现有关情况通报如下!wpk透视插件,智星德州辅助译码插件靠谱吗,都是真的是有挂(详细教程)该软件可以...
第三方辅助!we-poker辅... 第三方辅助!we-poker辅助,德普之星透视软件免费入口官网,都是存在有挂(有挂猫腻)1、进入到德...
现有说明如下!聚星ai辅助工具... 现有说明如下!聚星ai辅助工具收费多少,德普之星透视辅助软件是真的吗,总是真的有挂(有挂解惑)1、玩...
黑科技插件!约局吧app有挂吗... 黑科技插件!约局吧app有挂吗,德普之星辅助工具如何打开,其实存在有挂(有挂技巧)德普之星辅助工具如...
方法辅助挂!hhpoker一直... 方法辅助挂!hhpoker一直输有挂吗,智星菠萝可以辅助吗,原来真的有挂(新版有挂)1、完成智星菠萝...