WebviewJavascriptBridge原理

丷dante丶灬的技术博客 / 2023-08-03 / 原文

 

js发起请求gap://
实现WebView的代理webView:shouldStartLoadWithRequest:navigationType:,拦截scheme为gap的请求
执行js方法cordova.require('cordova/exec').nativeFetchMessages()获取需要执行的原生插件的信息(插件名,插件方法,回调ID,参数)
将需要执行的原生插件信息放入命令队列等待执行
执行原生插件,并把结果回调给js

 

 

https://zhuanlan.zhihu.com/p/381459761