【问题标题】:Unable to execute Js code in WebView in Cordova ProjectCordova项目的WebView中无法执行Js代码
【发布时间】:2015-03-24 08:27:24
【问题描述】:

我有两个活动,一个主要活动(A)是一个 CordovaActivity,然后我使用意图启动另一个活动(B),在 B 中我有一个 WebView(不是 CordovaActivity),然后我使用这个 webview 加载一个简单的网页(提醒一些东西),我发现js代码根本没有执行,即使我通过调用 setttings.setJsenabel(true) 启用了javascript;

我从 A 开始活动 B

在 Activity B 中从 webview 加载 Url

简单的网页

在设备中,它不会提醒任何东西

但是,如果我将 webview 更改为 CordovaWebView 而不是原来的 Android 原生的,它可以工作.....

【问题讨论】:

    标签: javascript android cordova webview android-webview


    【解决方案1】:

    那是因为普通的 WebView 本身不支持显示警报。您需要为其提供一个实现WebChromeClient.onJsAlert 方法的WebChromeClient。例如:

    mywebView.setWebChromeClient(new WebChromeClient() {
        @Override
        public boolean onJsAlert(
                WebView view, String url, String message, final JsResult result) {
            new AlertDialog.Builder(view.getContext())
                .setTitle("Alert")
                .setMessage(message)
                .setPositiveButton("Ok",
                    new AlertDialog.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            result.confirm();
                        }
                    }).setCancelable(false).create().show();
            return true;
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多