【发布时间】:2018-12-11 14:59:30
【问题描述】:
我遇到以下问题: 我的网站我用这个 JavaScript 弹出窗口提示我
我需要为网站创建这个包装器,并且我需要以某种方式处理这个对话框。 我曾尝试使用 ChromeWebView 客户端,但我的网站根本没有加载它。 我尝试将 WebView 和 ChromeWebView 客户端都添加到我的 WebView 中,但它仍然无法正常工作。 这是我的一些代码:
String text = getIntent().getStringExtra("currentUrl");
this.myWebView.loadUrl(text);
WebViewClient webViewClientProceedSSL = new ProceedSSLClient(myWebView);
this.myWebView.setWebViewClient(webViewClientProceedSSL);
this.myWebView.setWebChromeClient(new WebChromeClient());
您有什么想法可以解决这个问题吗?
编辑 1: 我忘记添加我的 WebView 设置。他们是:
webSettings.setJavaScriptEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setGeolocationEnabled(true);
webSettings.setDomStorageEnabled(true);
编辑 2:
在将 WebChromeClient 类设置为 webView 时,我曾尝试覆盖这两个方法 onJsAlert 和 onJsPrompt。这也不行……
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});
我根本没有使用那种方法 - 我尝试在其中记录一些内容并对其进行调试。我从来没有进去过。
【问题讨论】:
-
你确定没有办法在我的网络视图中显示表单。如果没有办法,你能告诉我什么时候应该创建那个请求,我该怎么做?跨度>
-
对不起,我错误地阅读了这个问题。你试过
webview.setJavaScriptEnabled(true)吗?? -
webSettings.setJavaScriptEnabled(true); webSettings.setAppCacheEnabled(true); webSettings.setDomStorageEnabled(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setGeolocationEnabled(true); webSettings.setDomStorageEnabled(true);
-
@Toaster 有我的设置
-
我认为您需要覆盖
onJsAlert()并通过扩展 web-chrome 客户端进行修改
标签: javascript java android webview