Javascript 在android webview中隐藏不带onPageFinished()的内容

Javascript 在android webview中隐藏不带onPageFinished()的内容,javascript,android,android-studio,android-webview,android-view,Javascript,Android,Android Studio,Android Webview,Android View,我有一个网站,我链接到我的申请。我不希望我的徽标在网站的webview中显示两次,因为我的应用程序已经在释放它了。我在stackoverflow上搜索了所有建议使用onPageFinished的地方。我想知道有没有其他方法,我不必等待页面完成加载,我可以立即隐藏的标志部分? 感谢您的建议。您可以覆盖WebChromeClient的onProgressChanged并在此处隐藏徽标,而不是覆盖WebViewClient的onPageFinished: webView.setWebChromeCli

我有一个网站,我链接到我的申请。我不希望我的徽标在网站的webview中显示两次,因为我的应用程序已经在释放它了。我在stackoverflow上搜索了所有建议使用onPageFinished的地方。我想知道有没有其他方法,我不必等待页面完成加载,我可以立即隐藏的标志部分?
感谢您的建议。

您可以覆盖WebChromeClient的onProgressChanged并在此处隐藏徽标,而不是覆盖WebViewClient的onPageFinished:

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onProgressChanged(WebView view, int newProgress) {
        view.loadUrl("javascript:(function() { " +
            //if element exists, hide element
            "})()");
    }
});

请注意,此方法将运行多次。这是一个不雅观的解决方案,但却是我找到的onPageFinished的最佳替代方案。

谢谢Logan。这对我使用WebViewClient很有帮助,但当我返回或按下返回键时,它就停止工作了。你的回答为我节省了很多时间。