最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實現(xiàn)與安卓、IOS交互的方法

 更新時間:2018年11月02日 09:45:13   作者:Sherry_瑞雪  
這篇文章主要介紹了vue實現(xiàn)與安卓、IOS交互的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

方案背景

  • IOS用的是jsBridge插件實現(xiàn)調用、傳參、回調的
  • 安卓是在window掛載方法和掛載回調的

IOS實現(xiàn)方案

調用原生方法封裝如下

function setupWebViewJavascriptBridge (callback) {
  if (window.WebViewJavascriptBridge) {
    return callback(window.WebViewJavascriptBridge)
  }
  if (window.WVJBCallbacks) {
    return window.WVJBCallbacks.push(callback)
  }
  window.WVJBCallbacks = [callback]
  let WVJBIframe = document.createElement('iframe')
  WVJBIframe.style.display = 'none'
  WVJBIframe.src = 'https://__bridge_loaded__'
  document.documentElement.appendChild(WVJBIframe)
  setTimeout(() => {
    document.documentElement.removeChild(WVJBIframe)
  }, 0)
}
function callhandler (name, data, callback) {
  setupWebViewJavascriptBridge(function (bridge) {
    bridge.callHandler(name, data, callback)
  })
}

實際調用如下

callhandler(functionName: string, params: object, res => {})

注冊方法給原生

registerhandler (name, callback) {
  // 安卓
  window[name] = res => {
   let data = JSON.parse(res)
   callback(data)
  }
  // IOS
  setupWebViewJavascriptBridge(function (bridge) {
    bridge.registerHandler(name, function (data, responseCallback) {
      callback(data, responseCallback)
    })
  })
}

安卓實現(xiàn)方案

調用原生方法

window.HTTP_TEST.functionName()

定義回調方法/注冊方法給原生

window['functionName'] = res => {}

特殊說明

  1. 安卓在交互中的參數(shù)傳遞只能支持string類型,對象參數(shù)要轉成string傳遞
  2. 因為安卓的回調方法名是固定的,同一方法同時請求兩次以上時,有可能只得到一次回調。如果用隨機數(shù)處理就會不斷地在window上掛載新的函數(shù),調用次數(shù)過多可能會出問題,所以目前是避免同時請求同一方法來解決的。如果有需求避免不了,那還是要用隨機數(shù)解決。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue項目如何引入公共頭部底部

    vue項目如何引入公共頭部底部

    這篇文章主要介紹了vue項目如何引入公共頭部底部問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 淺析Vue中權限管理的實現(xiàn)

    淺析Vue中權限管理的實現(xiàn)

    在前端開發(fā)中,權限管理是一項至關重要的任務,本教程將深入探討如何在?Vue.js?項目中實施權限管理,并詳細講解如何實現(xiàn)到按鈕級別的細粒度控制,希望對大家有所幫助
    2024-11-11
  • Vue2和Vue3的nextTick實現(xiàn)原理

    Vue2和Vue3的nextTick實現(xiàn)原理

    Vue 中的數(shù)據(jù)綁定和模板渲染都是異步的,那么如何在更新完成后執(zhí)行回調函數(shù)呢?這就需要用到 Vue 的 nextTick 方法了,本文詳細介紹了Vue2和Vue3的nextTick實現(xiàn)原理,感興趣的同學可以參考一下
    2023-04-04
  • vue項目中使用scss的方法步驟

    vue項目中使用scss的方法步驟

    這篇文章主要介紹了vue項目中使用scss的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Vue字符串中如何添加多個空格

    Vue字符串中如何添加多個空格

    這篇文章主要介紹了Vue字符串中如何添加多個空格問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Vuex?Actions多參數(shù)傳遞的解決方案

    Vuex?Actions多參數(shù)傳遞的解決方案

    在?Vuex?中,actions?的設計默認只支持單個參數(shù)傳遞,這有時會限制我們的使用場景,下面我將詳細介紹幾種處理多參數(shù)傳遞的解決方案,從基礎到高級,幫助您靈活應對各種需求,需要的朋友可以參考下
    2025-04-04
  • django中使用vue.js的要點總結

    django中使用vue.js的要點總結

    在本篇文章里小編給各位整理了關于django中使用vue.js需要注意的地方以及相關知識點,需要的朋友們跟著學習參考下。
    2019-07-07
  • vue中touch和click共存的解決方式

    vue中touch和click共存的解決方式

    這篇文章主要介紹了vue中touch和click共存的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • el-date-picker日期時間選擇器的選擇時間限制到分鐘級別

    el-date-picker日期時間選擇器的選擇時間限制到分鐘級別

    文章介紹了如何使用el-date-picker 組件來限制用戶選擇的時間,禁止選擇當前時間的日期及時分,同時允許選擇其他日期的全天時分,通過設置 `pickerOptions` 對象的屬性,可以實現(xiàn)對日期和時間的精確控制,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Vue3警告:Failed to resolve component:XXX的詳細解決辦法

    Vue3警告:Failed to resolve component:XXX的詳細解決辦法

    最近在一個vue3項目中遇到了報錯,整理了些解決辦法,這篇文章主要給大家介紹了關于Vue3警告:Failed to resolve component:XXX的詳細解決辦法,文中介紹的非常詳細,需要的朋友可以參考下
    2023-05-05

最新評論

长葛市| 洛川县| 广宗县| 广德县| 伊宁县| 东兴市| 遵义县| 永仁县| 蒙自县| 积石山| 贡嘎县| 道孚县| 夏河县| 扶余县| 宁陵县| 黄石市| 舞钢市| 诸城市| 北安市| 三江| 嘉义市| 吉首市| 寿宁县| 昌吉市| 永善县| 安远县| 新源县| 尚义县| 泸州市| 会昌县| 泸溪县| 独山县| 大宁县| 竹溪县| 邵阳市| 商水县| 桃源县| 武威市| 永顺县| 陆河县| 山东省|