【发布时间】:2019-09-06 05:32:47
【问题描述】:
我正在尝试在 webview 中打开网页。页面加载成功,但有时会显示安装 UC 浏览器的对话框,如下屏幕所示。
对话框截图
下面是代码:
webView=(WebView)findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}
});
if (Build.VERSION.SDK_INT >= 19) {
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}
webView.setWebViewClient(new AppWebViewClients());
webView.loadUrl("page_url");
我必须启用 java 脚本,因为页面中的验证很少。
【问题讨论】:
-
你用的是UC浏览器吗?
-
@ShanmugavelGK 否。在我的手机中,仅安装了 chrome 和设备默认浏览器。两者我都无法卸载。
-
onJsAlert你有没有试过在这个方法中设置断点来检查它是否是显示消息的那个? -
@Nirav 尝试打开的网站可能存在创建此对话框的恶意代码。这样的对话通常,我猜我不喜欢网络,利用javascripts。尝试检查网站是否有任何不需要的脚本。
-
这主要是特定网站上的重定向广告软件。大多数时候,除了关闭该选项卡之外,您无法对这些弹出窗口执行任何操作。