Android WebView が onPageFinished の H5 コンテンツの一部を非表示にするのは無効です

理由: webView が正常に描画されておらず、js を呼び出しても H5 に対応する ID、クラス、ラベルなどを取得できません。

解決策: WebView が描画された後、js を使用して H5 を変更します。

XML:

<WebView 
    android:id="@+id/webView" 
    android:scrollbars="none" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/>

ジャワ:

//1. Load 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() { 
        //ここで文字列を変更します
        javascript = "javascript:function Hide() { " + 
                "document.getElementsByTagName(' header')[1].style.display='none';"+ 
                "document.getElementsByTagName('footer')[0].style.display='none';"+ 
                "}"; 
        webView.loadUrl(javascript) ; 
        webView.loadUrl("javascript:隠す()"); 
    } 
});

終わり...

おすすめ

転載: blog.csdn.net/qq_41873558/article/details/127633073