Android三種Webview獲取Javascript返回值/屬性方式
1.通過反射(各版本API,不一樣),如下為4.2.2源碼的方式:通過android.webkit.WebViewClassic的fromWebView拿到webview對應(yīng)的WebViewClassic實例1,通過該實例1的getWebViewCore方法拿到對應(yīng)的WebViewCore實例2,通過實例2拿到 mBrowserFrame實例3,通過實例3的stringByEvaluatingJavaScriptFromString方法拿到j(luò)s的屬性或方法返回值。
本文引用地址:http://www.ex-cimer.com/article/201610/305613.htm2.通過setJavascriptInterface方式,暴漏webview中的對象到JS中(4.2之前android有系統(tǒng)漏洞問題),該對象不斷的向webview推送JS的方法的返回值或?qū)傩灾怠?/p>
3.webview定義事先好捕獲URL的格式;JS在執(zhí)行完方法后通過發(fā)起偽HTTP鏈接(并不是真正HTTP,而是為了webview的onLoadResource方法能夠捕獲);webview在onLoadResource中去捕獲這種偽HTTP,根據(jù)事先定義好的URL格式,去獲得已定義好的JS方法的返回值或?qū)傩灾怠?/p>
評論