由于 Html和Js 受浏览器安全策略的限制,无法精准控制所有本地硬件,如本地文件读写或者本地打印机等的访问,这时候,就需要使用这样的思想去做扩展。
前端 JSBridge 的主要原理是在前端页面和原生应用之间建立一个桥梁,使得两端能够相互通信。具体来说,前端页面通过调用 JavaScript 库中的 API 向原生应用发送请求,原生应用收到请求后会做出相应的操作,并通过回调函数或者事件监听将结果返回给前端页面。这样,前端页面就可以访问原生应用的资源和功能,而原生应用也可以获取前端页面的数据和操作。在js中使用WebViewJavascriptBridge对象前必须判断WebViewJavascriptBridge是否存在,如果不存在,需要重新监听ready事件if。
JSBridge,指的是JavascriptBridge的简写;是一座使用Javascript语言建的桥梁,连接web端和native端。目的就是为了让native(native端支持webview,webview可以在加载完成后调用页面的JavaScript代码)可以调用web端的js代码(web端支持Javascript)。
让web端可以调用native原生代码。但是web在调用原生代码并不是直接调用,而是根据web和native之间规定好的条约来执行相应的原生代码。(虽然web端可以直接调用native端代码,但是实现起来比较麻烦,而且有很大的安全隐患)。
JSBridge技术实现要实现JSBridge,我们需要按以下步骤分析:
第一步:设计出一个Native与JS交互的全局桥对象。
第二步:JS如何调用Native。
第三步:Native如何得知api被调用。
第四步:分析url-参数和回调的格式。
第五步:Native如何调用JS。
第六步:H5中api方法的注册以及格式。