嵌入式webview中的警报

niy*_*iya 3 javascript android webview

在应用程序中嵌入WebView并在其中加载html页面时,JavaScripts alert()不起作用.请给我一个例子.

Qui*_*son 14

WebChromeClient嵌入式浏览器实现的默认设置将丢弃javascript警报,您应该WebChromeClient使用自己的版本覆盖实现,这也允许您创建自己的自定义警报来代替默认警报,如下所示:

browser.setWebChromeClient(new MyWebChromeClient());
Run Code Online (Sandbox Code Playgroud)

...

final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        Log.d(LOG_TAG, message);
        new AlertDialog.Builder(view.getContext()).setMessage(message).setCancelable(true).show();
        result.confirm();
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)