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

相关内容

热门资讯

黑科技辅助!wepoke辅助挂... 黑科技辅助!wepoke辅助挂,(Wepoke存在)原来真的有挂,2025新版(有挂细节)-哔哩哔哩...
黑科技辅助!微扑克数据采集,(... 您好:微扑克数据这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
黑科技辅助!wepoke确实有... 黑科技辅助!wepoke确实有挂,(WePoKe机器)原来真的有挂,插件教程(发现有挂)-哔哩哔哩;...
黑科技辅助!微扑克有假,(微扑... 黑科技辅助!微扑克有假,(微扑克智能ai)原来真的有挂,揭秘攻略(真是)-哔哩哔哩;1、很好的微扑克...
黑科技辅助!Wepoke透明挂... 黑科技辅助!Wepoke透明挂,(WePoKe算法)原来真的有挂,靠谱教程(有挂技巧)-哔哩哔哩;最...
黑科技辅助!微扑克专用辅助器,... 黑科技辅助!微扑克专用辅助器,(微扑克平台)原来真的有挂,AA德州教程(工具)-哔哩哔哩;1、很好的...
黑科技辅助!aapoker辅助... 黑科技辅助!aapoker辅助工具,(AAPoKer采集)原来真的有挂,德州论坛(技巧)-哔哩哔哩;...
黑科技辅助!wpk提高胜率,(... 【福星临门,好运相随】;黑科技辅助!wpk提高胜率,(WPK好用)原来真的有挂,可靠教程(今日头条)...
黑科技辅助!wpk有伙牌,(W... 黑科技辅助!wpk有伙牌,(WPK)原来真的有挂,2025新版教程(真是)-哔哩哔哩;简单的灵活控制...
黑科技辅助!wpkai机器人的... 黑科技辅助!wpkai机器人的打法,(WPK代打)原来真的有挂,新2025教程(分析)-哔哩哔哩;2...