javascript - Webview 无法在 android L 设备中加载 JavaScript Alert

标签 javascript android iframe webview

我正在使用 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/

相关文章:

android - Gomobile库使用隐藏的API方法

jquery - 动态生成 kibana iframe(短网址)

javascript - Chart.js 忽略 Canvas 高度和宽度

BBCode 的 JavaScript RegExp 帮助

javascript - 这个 snap svg 插件有什么问题吗?

android - 导入 google-play-service 库,在此引用 android 旁边显示一个红色 X

javascript - 不同条件下的 React 调用方法

Android RecyclerView Plugin 太旧,请更新到较新版本,或设置 ANDROID_DAILY_OVERRIDE 环境变量

javascript - 如何通过 iframe 打开 JQuery 模式弹出对话框?

javascript - 使用 Google Caja 运行用户提供的 Javascript