【问题标题】:Webview showing unwanted dialogWebview 显示不需要的对话框
【发布时间】: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。尝试检查网站是否有任何不需要的脚本。
  • 这主要是特定网站上的重定向广告软件。大多数时候,除了关闭该选项卡之外,您无法对这些弹出窗口执行任何操作。

标签: java android url webview


【解决方案1】:

请尝试使用这个

public void setWebViewClient(WebViewClient client) {
mWebViewClient = client;

}

而不是 setWebChromeClient

如果您正在开发一个不需要太多功能但呈现 HTML 的 WebView,您可以只使用 WebViewClient

【讨论】:

  • 我必须放置 chrome 客户端,因为必须验证必填字段。当用户单击 webview 中的提交按钮时,它将显示带有消息的对话框。
  • 这两行你加了吗 webview.setWebViewClient(new MyWebViewClient()); webview.setWebChromeClient(new MyWebChromeClient());
  • 我已将代码放入我的问题中。是的,我已经添加了这两行
【解决方案2】:

试试这个到 webview

webView.getSettings().setPluginsEnabled(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);

【讨论】:

  • 哪个问题?
  • 同一个对话框显示安装UC浏览器。
【解决方案3】:

我问了其他有同样问题的人,也许你可以试试:

  • 检查服务器端 JS 文件或任何其他插件
  • 检查是否有任何其他已安装的应用程序(例如 com.UCMobile. 等软件包名称)尝试禁用或卸载它们。

【讨论】:

  • 好的。验证码就在那里。我认为由于验证码,它显示了 uc 浏览器对话框。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多