什么是JS桥

JavaScript021

什么是JS桥,第1张

桥接模式将抽象部分与实现部分分离开来,使两者都可以独立的变化,并且可以一起和谐地工作。抽象部分和实现部分都可以独立的变化而不会互相影响,降低了代码的耦合性,提高了代码的扩展性。

基本理论:

桥接模式定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。

更多详解可以查看:网页链接,希望可以帮到你

jsBridge并不是用JS来实现在,相反是Native实现的。Chrome V8 引擎提供了允许开发者使用 Native语言,如C++、Delphi或者是其他语言来对浏览器对象进行扩展,这种扩展的结果就是你可以使用JS来调用该对象。这种做法就是jsBridge的本质。

由于 Html和Js 受浏览器安全策略的限制,无法精准控制所有本地硬件,如本地文件读写或者本地打印机等的访问,这时候,就需要使用这样的思想去做扩展。

在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方法的注册以及格式。