Android三種Webview獲取Javascript返回值/屬性方式

jopen 11年前發布 | 59K 次閱讀 Android Android開發 移動開發

1.通過反射(各版本API,不一樣),如下為4.2.2源碼的方式:通過android.webkit.WebViewClassic的fromWebView拿到webview對應的WebViewClassic實例1,通過該實例1的getWebViewCore方法拿到對應的WebViewCore實例2,通過實例2拿到 mBrowserFrame實例3,通過實例3的stringByEvaluatingJavaScriptFromString方法拿到js的屬性或方法返回值。


2.通過setJavascriptInterface方式,暴漏webview中的對象到JS中(4.2之前android有系統漏洞問題),該對象不斷的向webview推送JS的方法的返回值或屬性值。


3.webview定義事先好捕獲URL的格式;JS在執行完方法后通過發起偽HTTP鏈接(并不是真正HTTP,而是為了webview的onLoadResource方法能夠捕獲);webview在onLoadResource中去捕獲這種偽HTTP,根據事先定義好的URL格式,去獲得已定義好的JS方法的返回值或屬性值

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!