WebView Native与H5交互—jsbridge

祝叶五
2023-12-01

在介绍jsbridge之前,先和大家一起回顾一下JavaScript与Android是如何互相调用的。
(1)在WebView中调用Js的基本格式如下:

webView.loadUrl("javascript:methodName(parameterValues)");

首先是一段Js代码:

function javacalljs(arg){document.getElementById("content".innerHTML) = ("native调用js: " + arg)}

按照上述的基本格式,在Java中调用JS的方法如下:

webView.loadUrl("javascript:javaCallJs("输入参数")");

(2)Js调用java,参看上篇博客。
Js中调用Java的代码:

<input type="button" value="jscalljava" onclick="window.接口名.接口方法(参数)"

那么什么是Jsbridge呢?
WebViewJavascriptBridge是移动端和Html交互通信的桥梁,从实现上来说就是java(ios为oc)和js的互相调用的桥梁。替代了原生WebView的自带的JavascriptInterface的接口的功能。
为什么要替换原生的webview的功能呢?
除了原生的webview存在的安全漏洞外,更是考虑到android中webview的碎片化和版本的多元化,所以基于兼容性和安全性问题,我们只能去寻找既安全,又能实现兼容Android各个版本的方案,由此jsbridge出现在了大家的视野中(此处的思想很重要,一定是业务的需求,推动了技术和架构的成长)。
Jsbridge该如何实现呢,接下来我将站在巨人的肩膀上为大家详细阐述一下Jsbridge的实现原理和思路(博客地址:https://github.com/lzyzsd/JsBridge
改日补齐。先休息了。

 类似资料: