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

相关内容

热门资讯

透视辅助(微扑克辅助机器人)w... 透视辅助(微扑克辅助机器人)wpk数据统计软件会不会被封号(详细辅助曝光教程)起初是真的有挂1、超多...
微扑克辅助挂!微扑克算正规平台... 微扑克辅助挂!微扑克算正规平台吗,(德州aapoker俱乐部)从前有挂(详细辅助安装教程);建议优先...
透视代打(aapoker辅助工... 透视代打(aapoker辅助工具)德州扑克辅助器(详细辅助可靠教程)最初真的有挂1)aapoker辅...
德州之星辅助挂!德扑之星的发牌... 德州之星辅助挂!德扑之星的发牌是不是有问题,(wepoKe)从来有挂(详细透视wepoke教程);建...
透视有挂(WPK透视辅助)微扑... 一、WPK透视辅助简介了解软件请加微:136704302WPK透视辅助是一款在线扑克游戏平台,玩家可...
德扑之星有猫腻!手机德州app... 这是一款非常优秀的德扑之星有猫腻 ia辅助检测软件,能够让你了解到德扑之星有猫腻中牌率当中全部隐藏参...
辅助透视(微扑克辅助器ios)... 辅助透视(微扑克辅助器ios)德扑之星操作(详细辅助透视教程)一直是有挂;致您一封信;亲爱微扑克辅助...
wpk有透视辅助!wpk外挂存... 1、wpk有透视辅助!wpk外挂存在吗,(wPK)竟然存在有挂(详细透视新版2025教程);详细教程...
透视有挂(aapoker有猫腻... 透视有挂(aapoker有猫腻)wpk 辅助工具(详细辅助科技教程)确实有挂是一款可以让一直输的玩家...
wepokeai机器人!微扑克... 1、wepokeai机器人!微扑克ai机器人打德州,(wepoker)先前真的是有挂(详细透视202...