Android webview注入JS代碼 修改網(wǎng)頁內(nèi)容操作
今天開發(fā)的時候遇到一個需求,就是需要隱藏webview的元素,鼓搗了半天 在stack overFlow找到了解決辦法 在此記錄一下
final WebView webview = (WebView)findViewById(R.id.browser); webview.getSettings().setJavaScriptEnabled(true); webview.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { // hide element by class name webview.loadUrl('javascript:(function() { ' + 'document.getElementsByClassName(’your_class_name’)[0].style.display=’none’; })()'); // hide element by id webview.loadUrl('javascript:(function() { ' + 'document.getElementById(’your_id’).style.display=’none’;})()'); } }); webview.loadUrl(url);
結(jié)束!
補充知識:android——webview修改html界面,達到去除或隱藏部分界面的效果
如下所示:
去除NBA及CAB頻道。
為了達到這個效果,當時考慮了兩種方式。
第一種是在webview加載前,先講html代碼拉下來,修改后,在通過webview去加載。
第二種就是查看源代碼,直接動手修改源代碼,然后把源代碼放在assets文件下,每次直接從本地加載。
在查看完源代碼(在電腦瀏覽器,打開網(wǎng)頁,右鍵單擊,查看源代碼)后發(fā)現(xiàn),這個網(wǎng)頁,太適合第二種方式了。頻道是寫死的。可以直接改。而其他的界面都是通過js動態(tài)生成的。毫不猶豫的把源代碼copy下來(注意格式,utf-8,無bom,否則中文亂碼)。
就這樣,第一個問題順利解決了。
加載assets下的html代碼方式為:
webview.loadUrl('file:///android_asset/test.html');
以上這篇Android webview注入JS代碼 修改網(wǎng)頁內(nèi)容操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)2. ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過程和條件語句)3. jscript與vbscript 操作XML元素屬性的代碼4. XML在語音合成中的應(yīng)用5. JSP開發(fā)之hibernate之單向多對一關(guān)聯(lián)的實例6. 基于PHP做個圖片防盜鏈7. php使用正則驗證密碼字段的復(fù)雜強度原理詳細講解 原創(chuàng)8. jsp 實現(xiàn)的簡易mvc模式示例9. PHP session反序列化漏洞超詳細講解10. HTML5實戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)
