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后,它看起来像