安卓html源碼獲取

首先標題原本想寫成"安卓獲取HTML調用js以後的源碼"的,可是發現有點繞,哈哈,因此就簡單寫了.html

關於安卓獲取html源碼,方法很簡單,經過webview與js交互便可獲取.說一下思路,安卓端新建接口,在接口中寫須要與js端交互的方法,而後webview註冊接口.在js端調用.具體代碼以下jquery

1.新建接口,記得將須要JS調用的方法加如圖註釋android

class AndroidInterface { @JavascriptInterface public void backActivity() { // 關閉本界面
 finish(); } }

2.註冊接口,記得在loadURL以前註冊.其中第一個參數爲以上新建接口類,第二個參數爲自定義字符串,該字符串須要在JS中使用,必定要記住改字符串.web

mWebView.addJavascriptInterface(new AndroidInterface(), "android");

3.JS調用改方法,便可實現js調用安卓本地代碼ide

function load() { //此處第二個名爲"android"的字符串即爲上面註冊字符串,注意一致
 window.android.backActivity(); } 

4.安卓調用JS方法,代碼以下lua

//第一個參數爲js中的方法名,該段代碼每執行一次則調用js方法一次
mWebview.evaluateJavascript("window.hasUserEditData()", new ValueCallback<String>() { @Override public void onReceiveValue(String value) { //這裏爲返回值 //todo
 } });

5.重點說一下這次開發過程當中遇到的問題.由於業務須要,Html執行JS代碼會動態添加數據,而後安卓獲取執行以後html代碼,並保存到文件中,可是一直髮現安卓獲取到的Html代碼爲執行JS以前的代碼.經過嘗試後發現使用jquery執行val時,獲取到代碼無動態數據,可是執行attr方法操做時,能夠獲取到動態數據代碼.至於具體緣由,須要進一步思考.問題已解決,花費了好久.spa

相關文章
相關標籤/搜索