警报对话框中的Webview无法运行javascript

时间:2018-08-29 18:47:05

标签: javascript android webview alert android-alertdialog

im试图在警报对话框中显示页面,但我的网页包含javascript并且必须运行。当我删除 webSettings_auth.setJavaScriptEnabled(true); 行时,我的页面内容可见,但是当我添加 webSettings_auth.setJavaScriptEnabled(true); 时,webview不显示内容。(打开空的和小的webview) 我正在尝试大约3个小时,但我不明白其原因。 请帮助

这是我的代码

AlertDialog.Builder alert = new AlertDialog.Builder(this);


     wv = new WebView(this);
    wv.loadUrl("file:///android_asset/src/settings.html");
    wv.setWebViewClient(new Client());
    wv.setWebChromeClient(new ChromeClient());
    if (Build.VERSION.SDK_INT >= 19) {
        wv.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    }
    else if(Build.VERSION.SDK_INT >=11 && Build.VERSION.SDK_INT < 19) {
        wv.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }


    WebSettings webSettings_auth = wv.getSettings();
    webSettings_auth.setJavaScriptEnabled(true);
    webSettings_auth.setBuiltInZoomControls(false);
    webSettings_auth.setSupportZoom(false);
    webSettings_auth.setAllowFileAccess(true);
    webSettings_auth.setDomStorageEnabled(false);//   webSettings.setDomStorageEnabled(true);

    wv.getSettings().setAllowFileAccess(true);
    wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);






    wv.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            return true;
        }
    });
    wv.setLongClickable(false);

    alert.setView(wv);

webClient类

  public class ChromeClient extends WebChromeClient {


}

public class Client extends WebViewClient {



}

注意:我的HTML页面在另一个Webview中运行正常。只是不能在Alertdialog Webview中运行

注意2:启用js后,它看起来像

imagelink

0 个答案:

没有答案
相关问题