无法在Cordova项目的WebView中执行Js代码

Unable to execute Js code in WebView in Cordova Project

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

我从A开始activityB

从 Activity B 中的网络视图加载 Url

简单网页

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

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

那是因为普通 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;
    }
});