Android 4.1 webview javascript无法正常工作.

Abb*_*Hoi 2 javascript android webview

我有一个函数调用javascript:alert('load')试图显示一个警告框.即使我已经不行,它也无法正常工作setJavaScriptEnabled(true);

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    WebView wvMyWeb = (WebView)findViewById(R.id.webView1);
    wvMyWeb.setWebViewClient(new MyWebViewClient());
    wvMyWeb.getSettings().setJavaScriptEnabled(true);

    switch (item.getItemId()) {
        case R.id.menu_save:
            alertbox("Setting","Save Clicked");
            wvMyWeb.loadUrl("http://ec.m.zkiz.com");
            return true;
        case R.id.menu_load:
            wvMyWeb.loadUrl("javascript:alert('load')");
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Hal*_*oum 5

您没有指定Chrome客户端,WebChromeClient它将满足您的需求.只需将其添加到您的webview:

webView.setWebChromeClient(new WebChromeClient());
Run Code Online (Sandbox Code Playgroud)

如果您想以alert特定方式处理事件,您还可以:

webView.setWebChromeClient(new WebChromeClient() { 
    @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        /* Do whatever you need here */
        return super.onJsAlert(view, url, message, result); 
    } 
});
Run Code Online (Sandbox Code Playgroud)