Flutter WebView 是否可以使用addJavascriptInterface?(完美實現(xiàn))

----------接去年的那篇文章------------

? 因為項目,我一直繞不過這個坑,最近又開始研究這個問題,之前的方法相當(dāng)于自己重寫Webview,通過MethodChannel來打通原生和Flutter的通信,這樣實現(xiàn)的webview肯定還會有許多坑,直到最近下載了flutter_webview_plugin的插件源碼,于是我就開始在這個基礎(chǔ)上實現(xiàn)之前的功能,方法其實也比較簡單,將下載的plugin項目導(dǎo)入原項目,

在主項目的yaml中加入依賴

flutter_webview_plugin:

path: flutter_webview_plugin-0.3.10+1

下面是需要修改的代碼:

1.在base.dart文件中模仿onUrlChanged ,增加自己需要監(jiān)聽的方法

2.修改android項目中WebviewManager中的registerJavaScriptChannelNames方法,加入

webView.addJavascriptInterface(

new JavaScriptChannel(FlutterWebviewPlugin.channel,"onShow",platformThreadHandler),"xxx");

3.在JavaScriptChannel中新增自己的方法:

4.在主項目中,添加對show方法的監(jiān)聽

運行項目就可以測試了,flutter的插件現(xiàn)在越來越多,我們可以站在巨人的肩膀上去修改成自己想要的模樣。

源碼下載:https://download.csdn.net/download/heshangyaohuansu/12229581

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容