我正在调用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);
}
}
我错过了什么?
答案 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);
}
});