Android 4.1 webview javascript无法正常工作。

时间:2013-04-05 08:45:03

标签: 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);
    }
}

我错过了什么?

1 个答案:

答案 0 :(得分:5)

您没有指定Chrome客户端,WebChromeClient符合您的需求。只需将其添加到您的webview:

webView.setWebChromeClient(new WebChromeClient());

如果您想以特定方式处理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); 
    } 
});