WebView和JS的交互总结

1.webView调用native方法默认为JavaBridge线程,这个线程很特殊.
2.在JavaBridge线程中处理view,不会报错,但是会出现奇怪的问题.
3.如果在JavaBrdige线程中,加入耗时操作,会影响web的线程,也不要加入耗时的操作.

 mWebView.setWebChromeClient(new WebChromeClient() {
            @Override
            public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
                Log.e("url", url);
                Log.e("message", message);
                result.confirm();//必需要确认,否则只能调用一次!❤
                Toast.makeText(MainActivity.this, "弹出--->", Toast.LENGTH_SHORT).show();
/*                AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this);
                b.setTitle("弹框");
                b.setMessage(message);
                b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        result.confirm();
                    }
                });
                b.setCancelable(false);
                b.create().show();*/
                return true;//返回true不执行JS的alert窗口❤
            }

        });

你可能感兴趣的:(WebView和JS的交互总结)