1. 程式人生 > >webview隱藏h5控制元件的方法

webview隱藏h5控制元件的方法

如果我們想在android用WebView載入H5頁面的時候去掉一些自己不想要的標籤,我們可以這樣做

1,在WebViewClient中實現:

@Override
            public void onPageFinished(WebView view, String url) {
                String js = "javascript:(function() {***這裡面可以寫js對頁面操作的程式碼***})()";
                view.loadUrl(js);
                super.onPageFinished(view, url);
            }

這樣我們就可以實現對h5頁面標籤的操作了

可是這樣會面臨著一個問題,就是在這個onPageFinished執行之前,我們的頁面已經在我們的手機中展示給使用者看了 這樣之前的頁面會顯示在手機上,然後,執行js程式碼之後,標籤消失,這對使用者的體驗是一個很大的影響,那如何解決呢?

第二步 我們知道一個View物件都有visibility屬性 那我們在h5頁面未展示之前就將webview的visibility設定為invisible頁面載入完之後設定為visible不就行了嗎 那隻能在WebViewClient中找方法了

於是找到了onPageStarted方法:頁面開始時候執行 如是就有了如下的程式碼了

 @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
            //在這裡設定webview的Visibility為invisible
                view.setVisibility(View.INVISIBLE);
                super.onPageStarted(view, url, favicon);
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                String js = "javascript:(function() {***這裡面可以寫js對頁面操作的程式碼***})()";
                view.loadUrl(js);
                //執行js程式碼後將webview顯示
                view.setVisibility(View.VISIBLE);
                super.onPageFinished(view, url);
            }

博主實測可用

新手寫部落格,如有錯誤,請多包涵