onPageFinished Javascript Web视图

onPageFinished Javascript Web视图,javascript,android,webview,Javascript,Android,Webview,我觉得问这个问题很愚蠢,但我一辈子都不能让它发挥作用 所以我到处搜索,找到了很多关于在WebViewClient中使用onPageFinished函数的帮助、指南等,我的代码主要基于这些 基本上,我有一个函数,它应该加载一个网页,然后用onPageFinished隐藏该网页上的某些元素。虽然它隐藏了整个页面并且webview显示文本“none”,但实际上并没有这样做。 当我注释掉onPageFinished函数时,webview会很好地加载页面,这让我相信它必须是javascript,但根据w3

我觉得问这个问题很愚蠢,但我一辈子都不能让它发挥作用

所以我到处搜索,找到了很多关于在WebViewClient中使用onPageFinished函数的帮助、指南等,我的代码主要基于这些

基本上,我有一个函数,它应该加载一个网页,然后用onPageFinished隐藏该网页上的某些元素。虽然它隐藏了整个页面并且webview显示文本“none”,但实际上并没有这样做。 当我注释掉onPageFinished函数时,webview会很好地加载页面,这让我相信它必须是javascript,但根据w3c网站,我的javascript对于我想要做的事情是正确的

所以我的问题是,是否有人看到了下面代码的问题和/或有人对可能实现我上述目标的其他东西提出了建议

我们将非常感谢您的帮助

代码:

public类MainActivity扩展了AppCompatActivity{
私有网络视图浏览器;
专用字符串url=”https://www.google.com";

公共页面(){
浏览器=(WebView)findViewById(R.id.WebView);
browser.getSettings().setJavaScriptEnabled(true);
setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
loadUrl(“javascript:document.getElementById('lga').style.display='none';”;
}
});
loadUrl(url);
}
}
注:

-上面以google为例,lga是google横幅div的id

-浏览器和url是全局的,因为一旦我使用cleanPage,我将添加其他功能,根据需要对其进行更改。

您需要添加
void(0)
javascript:
URL的末尾。否则,WebView将用JS评估的结果替换当前页面(在您的情况下,即字符串
“none”

因此,改变这一点:

browser.loadUrl("javascript:document.getElementById('lga').style.display='none';");
致:


非常感谢!!(如果我能投票支持你的答案,我会。)我有一个JS,它第一次在webview上工作,但第二次不工作“var divs=document.getElementsByTagName(\'div\”);for(var I=0;Ibrowser.loadUrl("javascript:document.getElementById('lga').style.display='none';");
browser.loadUrl("javascript:document.getElementById('lga').style.display='none';void(0);");