0
我有Fragment
用WebView
,我想隐藏某些div。它可以工作,但这些div不会立即隐藏,并且可以被看到 - 有时只有几分之一秒,有时甚至更长。我试着添加setVisibility(View.INVISIBLE)
和onPageFinished setVisibility(View.VISIBLE)
。这有一点帮助,但divs仍然可见。如果我点击WebView
中的链接,下一页会显示更长的div。WebView - 用getElementById隐藏div不会立即生效
下面是代码:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
public class TestFragment extends Fragment {
public WebView mWebView;
ProgressBar progressBar;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View fragmentView =inflater.inflate(R.layout.fragment_main, container, false);
String url = "https://www.example.com";
mWebView = (WebView) fragmentView.findViewById(R.id.webview);
mWebView.setVisibility(View.INVISIBLE);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient()
{
@Override
public void onPageFinished(WebView rootView, String url)
{
mWebView.loadUrl("javascript:(function() { " +
"document.getElementById('page-header').remove(); " +
"document.getElementsByTagName('footer')[0].style.display=\"none\"; " +
"document.getElementsByTagName('ol')[0].style.display=\"none\"; " +
"})()");
mWebView.setVisibility(View.VISIBLE);
}
});
mWebView.loadUrl(url);
return fragmentView;
}
}
我在做什么错?有一个更好的方法吗?
帮助将非常感激。请原谅,如果代码是混乱的,我只是一个初学者 - 谢谢!
谢谢!我将'mWebView.setVisibility(View.INVISIBLE);'从Java文件中取出,并在'WebView'中的XML文件中添加了'android:visibility =“invisible”'。这没有帮助 - 是不是正确的地方? –