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会拦截并处理它们,并显示相应的对话框供用户交互。

相关内容

热门资讯

避坑细节!pokemmo脚本辅... 避坑细节!pokemmo脚本辅助器下载,智星菠萝有挂吗,果然真的有挂(有挂秘笈)1、每一步都需要思考...
2026版方法!德普之星私人局... 2026版方法!德普之星私人局透视,德扑之心免费透视,切实确实有挂(有挂透视)1、让任何用户在无需德...
一分钟教会你!wepoker正... 一分钟教会你!wepoker正确养号方法,hhpoker是真的假的,竟然是真的有挂(新版有挂)1、下...
2026版方法!wepoker... 2026版方法!wepoker究竟有没有透视,德普辅助软件,都是真的是有挂(有挂规律)1、打开软件启...
教程辅助!wepoker怎么买... 教程辅助!wepoker怎么买辅助,wepokerh5破解,确实有挂(存在有挂)1、起透看视 辅助软...
近日!wepoker分析,智星... 近日!wepoker分析,智星德州有脚本吗,果然确实有挂(真是有挂)亲,关键说明,智星德州有脚本吗透...
分享实测!wepoker辅助器... 分享实测!wepoker辅助器软件下载,wepokerplus外挂,切实是有挂(有挂讲解)1、每一步...
出乎意料的是!hhpoker可... 出乎意料的是!hhpoker可以控制吗,德普之星透视辅助软件下载,确实确实有挂(有挂方式)德普之星透...
记者揭秘!wepoker破解器... 记者揭秘!wepoker破解器激活码,hhpoker真的有透视吗,竟然有挂(有挂功能)1. 选牌创建...
连日来!hhpoker德州有挂... 连日来!hhpoker德州有挂吗,德扑之星透视辅助插件,一直是有挂(发现有挂)在进入德扑之星透视辅助...