我在WebChromeClient中为嵌入式WebView设置了一个javascript alert()处理程序:
@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
Log.d("alert", message);
Toast.makeText(activity.getApplicationContext(), message, 3000).show();
return true;
};
不幸的是,这只显示一次弹出式Toast,然后WebView停止响应任何事件。我甚至无法使用我的菜单命令加载另一个页面。我没有在LogCat中看到错误,这可能是什么问题?
答案 0 :(得分:9)
您需要在cancel()
参数上调用confirm()
或JsResult result
。
答案 1 :(得分:3)
添加此
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
result.confirm();
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
return true;
}