Vue JsBridge 是一款 Web 與 Native 之間交互的 JavaScript 插件,它可以讓我們?cè)?WebView 中輕松調(diào)用 Native 的方法,同時(shí)也可以讓 Native 調(diào)用 JS 的方法。Vue JsBridge 的實(shí)現(xiàn)原理是通過(guò) WebView 的原生方法來(lái)實(shí)現(xiàn)數(shù)據(jù)的互通。
在使用 Vue JsBridge 時(shí),我們需要在前端頁(yè)面注冊(cè)一些方法,供 Native 去調(diào)用。在頁(yè)面中引入 Vue JsBridge 后,我們可以通過(guò) Vue 對(duì)象的 $bridge 屬性來(lái)調(diào)用注冊(cè)的方法。
// 注冊(cè)方法 Vue.bridge.registerHandler('nativeMethod', function (data, responseCallback) { // ... }); // 調(diào)用方法 Vue.bridge.callHandler('nativeMethod', data, function (responseData) { // ... });
這里的 registerHandler 和 callHandler 分別用來(lái)注冊(cè)和調(diào)用 Native 提供的方法,其實(shí)現(xiàn)方法類似于 JSONP 的方式。
除了調(diào)用 Native 方法外,Vue JsBridge 還提供了一些輔助方法:
- hasNativeMethod:判斷 Native 是否存在指定的方法
- disableJavascriptDialogBlock:禁用 WebView 中的 JavaScript 對(duì)話框
- canGoBack:判斷 WebView 是否可以返回
- goBack:WebView 返回
總之,Vue JsBridge 是一款非常方便的 Web 與 Native 交互工具,幫助我們快速實(shí)現(xiàn) Hybrid App 的開(kāi)發(fā)。我們可以通過(guò)它來(lái)調(diào)用 Native 的功能,同時(shí)在 Native 中也可以回調(diào) Web 的方法。