我正在使用 iFrame 将数据加载到我的应用程序,在 iFrame 中使用了 javascript 警报。
javascript 警报在属于 api < 20 的所有设备中工作正常,但在 api 20 中,警报不起作用。
它给了我像
这样的 logcat 消息(Cannot create a dialog, the WebView context is not an Activity )
我为此尝试了以下代码:
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setPluginState(PluginState.ON);
webview.getSettings().setAllowFileAccess(true);
webview.setClickable(true);
webview.setFocusableInTouchMode(true);
WebClientClass webViewClient = new WebClientClass();
webview.setWebViewClient(webViewClient);
WebChromeClient webChromeClient = new WebChromeClient() {
@Override
public boolean onJsPrompt(WebView view, String url, String message,
String defaultValue, JsPromptResult result) {
Log.d("jsPrompt:", "OK:" + url);
return super.onJsPrompt(view, url, message, defaultValue,
result);
}
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
Log.d("jsAlert:", "OK:" + url);
// TODO Auto-generated method stub
return super.onJsAlert(view, url, message, result);
}
};
wvTourDetails.setWebChromeClient(webChromeClient);
if (url != null) {
webview.loadUrl(url);
}
有谁可以帮助我在 android L 设备中使用警报..
谢谢
最佳答案
我找到了这个问题的解决方案。
Google 已于 2015 年 4 月 24 日将 Android System WebView 更新至版本 42。
更新您的 Android 系统 WebView 以在 Android L 设备中使用 JavaScript
关于javascript - Webview 无法在 android L 设备中加载 JavaScript Alert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29842554/