android webview獲取html代碼和根據(jù)id獲取value實(shí)例
1 前言
最近做一個項(xiàng)目,需要webview獲取網(wǎng)頁中input的內(nèi)容,把知識整理一下,做個記錄,也希望對大家有所幫助。
2 獲取html內(nèi)容
2.1 初始化webview
webview.getSettings().setJavaScriptEnabled(true); webview.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj"); /** *注意,@JavascriptInterface方法的注解是一定要加的, *很多同學(xué)因?yàn)闆]加所以沒有效果 */ final class InJavaScriptLocalObj { @JavascriptInterface public void getSource(String html) { Log.d("html=", html); } }
2.2 獲取html代碼
view.loadUrl("javascript:window.java_obj.getSource('<head>'+" + "document.getElementsByTagName('html')[0].innerHTML+'</head>');");
當(dāng)執(zhí)行這句話的時候,會回調(diào)InJavaScriptLocalObj 中的getSource方法。
3 根據(jù)id獲取value
可能會有這樣一個需求:在網(wǎng)頁的文本框中輸入內(nèi)容后,要在android中獲取文本框的輸入內(nèi)容。那么這個文本框需要設(shè)置一個id,我們用javascript代碼來獲取value。代碼如下:
3.1 初始化webview
這一塊的代碼和上面是一樣的
webview.getSettings().setJavaScriptEnabled(true); webview.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj"); public final class InJavaScriptLocalObj { private String value = ""; public String getValue(){ return this.value; } @JavascriptInterface public void getValueById(String value) { Log.d("HTML", value); this.value = value; } }
3.2 根據(jù)id獲取value
detail_web.loadUrl("javascript:window.local_obj.getValueById(document.getElementById('acount_comment').value);");
4 結(jié)尾
好了就講到這里吧,以上這篇android webview獲取html代碼和根據(jù)id獲取value實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解析:ClickOnce通過URL傳遞參數(shù) XXX.application?a=1
本篇文章是對ClickOnce通過URL傳遞參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Android開發(fā)之ClipboardManager剪貼板功能示例
這篇文章主要介紹了Android開發(fā)之ClipboardManager剪貼板功能,結(jié)合簡單實(shí)例形式分析了Android使用ClipboardManager實(shí)現(xiàn)剪貼板功能的相關(guān)操作技巧,需要的朋友可以參考下2017-03-03Android顯式啟動與隱式啟動Activity的區(qū)別介紹
為什么要寫顯式啟動與隱式啟動Activity,Android的Acitivity啟動大致有兩種方式:顯式啟動與隱式啟動,下面分別介紹2014-09-09安卓(Android)中如何實(shí)現(xiàn)滑動導(dǎo)航
導(dǎo)航是移動應(yīng)用最重要的方面之一,對用戶體驗(yàn)是良好還是糟糕起著至關(guān)重要的作用。好的導(dǎo)航可以讓一款應(yīng)用更加易用并且讓用戶快速上手。相反,糟糕的應(yīng)用導(dǎo)航很容易讓人討厭,并遭到用戶的拋棄。2014-08-08Android EdText編輯框禁止輸入表情符號(使用正則表達(dá)式)
這篇文章主要介紹了Android EdText編輯框禁止輸入表情符號使用正則表達(dá)式,需要的朋友可以參考下2017-06-06從零開始學(xué)android實(shí)現(xiàn)計(jì)算器功能示例分享(計(jì)算器源碼)
這篇文章主要介紹了android實(shí)現(xiàn)的計(jì)算器功能示例,可以加減乘除;可以倒退,可以清空文本,大家參考使用吧2014-02-02Android Studio 3.0 Gradle 配置變更
這篇文章主要介紹了Android Studio 3.0 Gradle 配置變更的相關(guān)知識,即多渠道打包變更和更改打包命名及路徑的代碼,感興趣的朋友跟隨腳本之家小編一起看看吧2018-03-03