X5webview去掉分享功能和緩存功能


x5webview比原生的webview適配更好,加載更快,對音視頻的兼容性更好,具備獨特的優勢

1) 速度快:相比系統webview的網頁打開速度有30+%的提升;

2) 省流量:使用雲端優化技術使流量節省20+%;

3) 更安全:安全問題可以在24小時內修復;

4) 更穩定:經過億級用戶的使用考驗,CRASH率低於0.15%;

5) 兼容好:無系統內核的碎片化問題,更少的兼容性問題;

6) 體驗優:支持夜間模式、適屏排版、字體設置等瀏覽增強功能;

7) 功能全:在Html5、ES6上有更完整支持;

8) 更強大:集成強大的視頻播放器,支持視頻格式遠多於系統webview;

9) 視頻和文件格式的支持x5內核多於系統內核

10) 防劫持是x5內核的一大亮點

通常來說接入了x5webview以后,基本都會覺得滿意,但是你可能會面臨各種場景,其中就是要求頁面顯示的一些按鈕需要定制,而官方沒有提供有關的api調用,並且也不支持定制,給錢都找不到人幫忙,比如:

 

如果你是一個收費視頻內容,當你打開的時候,突然用戶可以緩存和下載了,然后用戶下載原視頻,還可以保存在用戶端,隨時看,甚至還可以再加工,這時候老板是不是要震怒了?

部分的app使用了一些魔板打開的,分享出來的網頁地址是本地模板目錄,在微信端是根本打不開的,這時候bug該怎么修復呢?

官方文檔沒有API對緩存和分享功能的移除,通過在官方網站查找有關的資料,終於的出來答案,不支持。(論壇地址)

是不是很絕望,下面分享一個已經做出來的效果,去掉分享功能

 

再發一個兩個功能都去掉了的

這樣就可以處理了,而且完全不影響x5webview的功能和業務。

 

有網友提供了其他的解決方案如下:

getWindow().getDecorView().addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
            @RequiresApi(api = Build.VERSION_CODES.ICE_CREAM_SANDWICH)
            @Override
            public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
                ArrayList<View> outView = new ArrayList<View>();
                getWindow().getDecorView().findViewsWithText(outView, "QQ瀏覽器", View.FIND_VIEWS_WITH_TEXT);
                int size = outView.size();

                if (outView != null && outView.size() > 0) {
                    outView.get(0).setVisibility(View.GONE);
                }
            }
        });

  

 實際操作來說,這種分分鍾能卡死,而且反復進入,性能的消耗巨大,不是一種推薦的做法,而且現在也無法根據關鍵字匹配到控件了。

 

而實際上,有更加方便的操作,對性能開銷影響忽略到不計,就可以處理了,而且完全不影響x5webview的功能和業務。后面有時間再更新解決方案。

 

 

X5webview完美去掉分享功能和緩存功能(2)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM