国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue h5 項(xiàng)目中與 app 安卓 or ios 進(jìn)行交互 方式, h5與app交互

這篇具有很好參考價值的文章主要介紹了vue h5 項(xiàng)目中與 app 安卓 or ios 進(jìn)行交互 方式, h5與app交互。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

vue h5 項(xiàng)目中與 app 安卓 or ios 進(jìn)行交互 方式, h5與app交互

vue寫h5項(xiàng)目嵌入app,app與h5進(jìn)行交互,vue,h5,vue.js,android,ios,交互,html
前端同學(xué)可以加我一起交流一起進(jìn)步

案例描述:需求是 混合開發(fā)中,H5頁面與原生app安卓或者ios交互(包括,調(diào)用app的方法,或者app調(diào)用 h5中定義的方法)從而實(shí)現(xiàn)交互

項(xiàng)目場景:開發(fā)幫助中心頁面,幫助中心頁面采用 h5頁面 開發(fā) ,頁面中有兩個按鈕需要和app進(jìn)行交互

vue寫h5項(xiàng)目嵌入app,app與h5進(jìn)行交互,vue,h5,vue.js,android,ios,交互,html

第一步,先定義公共方法:

H5頁面 和 原生app進(jìn)行互相傳參數(shù)調(diào)用需要使用 WebViewJavascriptBridge,下面是項(xiàng)目中的封裝appBridge.js的公共方法 示例為vue代碼

ios 的公共方法


		//新建 appBridge.js
		//ios 公共方法
		function AppJavascriptBridgeIOS(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 = 'wvjbscheme://__BRIDGE_LOADED__'
		  document.documentElement.appendChild(WVJBIframe)
		  setTimeout(() => {
		    document.documentElement.removeChild(WVJBIframe)
		  }, 0)
		}


安卓 的公共方法

				//動態(tài)創(chuàng)建script的方法
				//安卓 公共方法
				function AppJavascriptBridgeANDROID(callback) {
				  if (window.WebViewJavascriptBridge) {
				    callback(WebViewJavascriptBridge);
				  } else {
				    document.addEventListener(
				      "WebViewJavascriptBridgeReady",
				      function () {
				        callback(WebViewJavascriptBridge);
				      },
				      false
				    );
				  }
				}


拋出方法 app和h5的交互分為 h5 定義好方法 進(jìn)行注冊 ,app來調(diào)用

export default {
  //H5調(diào)用 app方法
  callhandler(name, data, callback) {
    //調(diào)用iOS的方法
    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
      AppJavascriptBridgeIOS(function (bridge) {
        bridge.callHandler(name, data, callback)
      })
    }
    //調(diào)用Android方法
    if (/(Android)/i.test(navigator.userAgent)) {
      AppJavascriptBridgeANDROID(function (bridge) {
        bridge.callHandler(name, data, callback)
      })
    }
  },
  //app調(diào)用H5定義的方法
  registerhandler(name, callback) {
    //iOS調(diào)用h5的方法
    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
      AppJavascriptBridgeIOS(function (bridge) {
        bridge.registerHandler(name, function (data, responseCallback) {
          callback(data, responseCallback)
        })
      })
    }
    //安卓調(diào)用h5定義的方法
    if (/(Android)/i.test(navigator.userAgent)) {
      AppJavascriptBridgeANDROID(function (bridge) {
        bridge.init(function (message, responseCallback) {
          if (responseCallback) {
            // responseCallback(data);
          }
        });
        bridge.registerHandler(name, function (data, responseCallback) {
          callback(data, responseCallback)
        })
      })
    }

  },

}

然后掛載到vue的原型方法上,在main.js中進(jìn)行配置

import AppBridge from "@/utils/appBridge.js" //此路徑根據(jù)實(shí)際AppBridge.js路徑進(jìn)行填寫
Vue.prototype.$bridge = AppBridge

實(shí)際使用

	methods: {
	// h5調(diào)用原生方法,appWebViewBridge為原生app定義的方法名。action為h5傳遞給原生app的參數(shù),可以為多個。data為原生app傳遞給h5參數(shù)
    go() {
      const that = this;
      that.$bridge.callhandler(
        "appWebViewBridge",
        { action: "are you ok?" },
        data => {
          that.app = data;

          // 處理返回?cái)?shù)據(jù)
        }
      );
    },
    // h5注冊方法,供app調(diào)用該方法
    iosToH5(){
	  
	},
  },

  mounted() {
    // 如果是app調(diào)用h5方法,iosToH5是methods中定義的方法名。
    const that = this;
    that.$bridge.registerhandler("iosToH5", (data, responseCallback) => {
      // data是原生app傳遞給h5的參數(shù)
      that.Appdata = data;
    });
  }

如果對你有用不要忘記點(diǎn)贊收藏哦!
https://github.com/mebjas/html5-qrcode文章來源地址http://www.zghlxwxcb.cn/news/detail-678322.html

到了這里,關(guān)于vue h5 項(xiàng)目中與 app 安卓 or ios 進(jìn)行交互 方式, h5與app交互的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • H5端和原生APP進(jìn)行交互

    淺淺記錄一下吧!?。?H5端和原生APP(安卓、IOS)進(jìn)行數(shù)據(jù)交互 H5調(diào)用APP事件方法: 這里的 ?fn? 是和APP開發(fā)人員協(xié)商好的方法名,APP端寫邏輯代碼,H5端直接調(diào)用APP的方法; ()里面可以向APP端傳遞數(shù)據(jù),如果是引用數(shù)據(jù)類型的話,建議轉(zhuǎn)成字符串再傳遞。 APP調(diào)用H5端事件方法:

    2024年02月22日
    瀏覽(19)
  • App與H5交互的幾種方式

    1、直接調(diào)用App的定義的方法 首先我們需要判斷當(dāng)前App的客戶端是Ios還是Android,針對不同的客戶端我們需要調(diào)用不同的方法。 2、調(diào)用方法獲取數(shù)據(jù) 這種方法和第一種方法一致,只不過是Ios與Android返回的值不同。 3、暴露方法給App調(diào)用傳值 在很多時候并不一定是H5去調(diào)用App,

    2024年02月11日
    瀏覽(25)
  • 已解決:安卓自帶的webview加載前端h5項(xiàng)目白屏?xí)r長嚴(yán)重,vue首頁加載白屏?xí)r間過長,那我讓app進(jìn)入的時候就提前加載網(wǎng)頁

    自己寫的vue項(xiàng)目,自己寫的安卓殼子,本來自己覺得慢,忍忍就過去了,但是人家覺得慢,你不得改么?結(jié)果是前端自己開發(fā),安卓也自己開發(fā),想甩個鍋都沒法甩,總不能甩給后端吧?哈哈哈 描述一下我的情況,我寫了一個vue項(xiàng)目,需要嵌在安卓里運(yùn)行,沒想到安卓webvi

    2024年02月03日
    瀏覽(23)
  • H5項(xiàng)目中使用微信JS-SDK(以H5項(xiàng)目批量上傳圖片為例,兼容IOS及安卓)

    H5項(xiàng)目中使用微信JS-SDK(以H5項(xiàng)目批量上傳圖片為例,兼容IOS及安卓)

    H5項(xiàng)目中使用微信圖片上傳相關(guān)sdk,主要用于解決 1.安卓手機(jī)無法一次選擇多張圖片進(jìn)行上傳問題;2.控制IOS系統(tǒng)手機(jī)一次可無限量選擇圖片上傳的問題 一、準(zhǔn)備工作:公眾號配置 驗(yàn)證所需使用的sdk是否符合需求 可在使用場景中,打開微信官方提供的 微信SDKDemo 鏈接,或企業(yè)

    2024年02月07日
    瀏覽(22)
  • Vue.js uni-app 混合模式原生App webview與H5的交互

    Vue.js uni-app 混合模式原生App webview與H5的交互

    在現(xiàn)代移動應(yīng)用開發(fā)中,原生App與H5頁面之間的交互已經(jīng)成為一個常見的需求。本文將介紹如何在Vue.js框架中實(shí)現(xiàn)原生App與H5頁面之間的數(shù)據(jù)傳遞和方法調(diào)用。我們將通過一個簡單的示例來展示如何實(shí)現(xiàn)這一功能。 效果圖如下: 首先,我們需要在Vue.js項(xiàng)目中引入原生App與H5頁面

    2024年02月16日
    瀏覽(22)
  • uniapp項(xiàng)目APP端安卓ios權(quán)限檢測教程

    導(dǎo)語:在 APP 的日常開發(fā)過程中,權(quán)限檢測與授權(quán)是不可避免的一項(xiàng)重要的功能,下面就簡單介紹一下如何檢測和授權(quán)的方法。 原理 方法 實(shí)戰(zhàn) 此授權(quán)方法主要是依托于 HTML5 產(chǎn)業(yè)聯(lián)盟的 HTML5+ 規(guī)范實(shí)現(xiàn)的。 HTML5 產(chǎn)業(yè)聯(lián)盟官網(wǎng) 獲取當(dāng)前操作系統(tǒng)名稱 可以使用 uni.getSystemInfoSyn

    2024年02月07日
    瀏覽(19)
  • 利用webview 內(nèi)嵌實(shí)現(xiàn)小程序,h5 ,app 頁面跳轉(zhuǎn)和數(shù)據(jù)通訊,附帶實(shí)現(xiàn)pdf文件的預(yù)覽(兼容ios和安卓)

    利用webview 內(nèi)嵌實(shí)現(xiàn)小程序,h5 ,app 頁面跳轉(zhuǎn)和數(shù)據(jù)通訊,附帶實(shí)現(xiàn)pdf文件的預(yù)覽(兼容ios和安卓)

    承載網(wǎng)頁的容器。會自動鋪滿整個小程序頁面, 個人類型的小程序暫不支持使用。 客戶端 6.7.2 版本開始,navigationStyle: custom?對?web-view?組件無效 相關(guān)的屬性說明:開放能力 / web-view (qq.com) 2.bindmessage 可以實(shí)現(xiàn)網(wǎng)頁端和小程序之間通訊, 但只在特定時機(jī)觸發(fā) 網(wǎng)頁端向小程序

    2024年02月02日
    瀏覽(36)
  • vue&h5獲取手機(jī)前置攝像頭(安卓&ios),input capture屬性和navigator.mediaDevices

    調(diào)用前置攝像頭?capture=\\\"user\\\" 調(diào)用后置攝像頭capture=\\\"environment\\\"或其他只適用于ios 根據(jù)官網(wǎng)解釋 iOS最遵守遵守HTML5規(guī)范,其次是X5內(nèi)核,安卓的webview基本忽略了capture。 官方文檔:www.w3.org/TR/2018/REC-html-media-capture-20180201/ 對于安卓,親測capture=\\\"user\\\"效果是,第一次打開前置攝像無效

    2024年02月10日
    瀏覽(31)
  • vue3.0 安卓和ios h5 移動端音頻自定義圓環(huán)可拖拽播放(兼容微信瀏覽器)

    vue3.0 安卓和ios h5 移動端音頻自定義圓環(huán)可拖拽播放(兼容微信瀏覽器)

    安裝? npm install weixin-js-sdk 引入 template ? ? div class=\\\"circle_box\\\" ? ? ? ? div id=\\\"content\\\"/div ? ? ? ? ?img class=\\\"img_0\\\" src=\\\"https://img.yzcdn.cn/vant/cat.jpeg\\\" alt=\\\"\\\" ? ? ? ? ?img @click=\\\"changeType\\\" class=\\\"img_1\\\" v-show=\\\"playbool\\\" src=\\\"@/assets/decompression/pressure_audio_play.png\\\" alt=\\\"\\\" ? ? ? ? ?img @click=\\\"changeType\\\"

    2023年04月23日
    瀏覽(24)
  • Shopro商城 高級版 Fastadmin和Uniapp進(jìn)行開發(fā)的多平臺商城(微信公眾號、微信小程序、H5網(wǎng)頁、Android-App、IOS-App)

    Shopro商城 高級版 Fastadmin和Uniapp進(jìn)行開發(fā)的多平臺商城(微信公眾號、微信小程序、H5網(wǎng)頁、Android-App、IOS-App)

    Shopro商城無加密的開源源碼( 可用于自營+外包項(xiàng)目(多主體) 、 可用于外包定制開發(fā)項(xiàng)目 ) shopro 商城,一款基于 uni-app 的前端模板商城。目前適配了(小程序+app+h5+公眾號)。 主要功能:登錄、注冊、簽到、富文本、分類、購物車、篩選、地址、商品評論、積分商城、拼團(tuán)、

    2023年04月09日
    瀏覽(129)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包