原因:webView还没有绘制成功,调用js也无法获取H5对应的id、class、标签等.
解决:在webView绘制完成后再用js去修改H5.
xml:
<WebView android:id="@+id/webView" android:scrollbars="none" android:layout_width="match_parent" android:layout_height="match_parent"/>
java:
//1.加载H5 webView.loadUrl("https://www.fifa.com/football-development/fifa-forward/impact-map"); //2.监听画面绘制,在WebView绘制结束后,用JS修改H5 webView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { //在这里修改 String javascript = "javascript:function hide() { " + "document.getElementsByTagName('header')[1].style.display='none';"+ "document.getElementsByTagName('footer')[0].style.display='none';"+ "}"; webView.loadUrl(javascript); webView.loadUrl("javascript:hide()"); } });
end...