Fragment
에 WebView
이 있는데 특정 div를 숨기고 싶습니다. 작동하지만 이러한 div는 즉시 숨기지 않고 때때로 볼 수 있습니다. 때로는 1 초도 안되는 경우도 있습니다. 나는 setVisibility(View.INVISIBLE)
과 onPageFinished setVisibility(View.VISIBLE)
을 추가하려고 시도했습니다. 약간은 도움이되지만 div는 여전히 볼 수 있습니다. 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;
}
}
: 여기
코드인가? 이 작업을 수행하는 더 좋은 방법이 있습니까?도움을 주시면 대단히 감사하겠습니다. 코드가 지저분한 경우 실례합니다. 저는 초보자입니다. - 감사합니다!
감사합니다. Java 파일에서 mWebView.setVisibility (View.INVISIBLE);를 가져 와서'WebView '내의 XML 파일에'android : visibility = "invisible"를 추가했습니다. 그게 도움이되지 못했습니다 - 그게 옳은 장소가 아니 었나요? –