中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序與webview?H5交互怎么實現

發布時間:2022-11-23 09:38:57 來源:億速云 閱讀:315 作者:iii 欄目:開發技術

這篇文章主要介紹“微信小程序與webview H5交互怎么實現”,在日常操作中,相信很多人在微信小程序與webview H5交互怎么實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”微信小程序與webview H5交互怎么實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

web-view功能描述

承載網頁的容器。會自動鋪滿整個小程序頁面,個人類型的小程序暫不支持使用。

客戶端 6.7.2 版本開始,navigationStyle: custom 對 web-view 組件無效

微信小程序與webview?H5交互怎么實現

web-view 內嵌 H5 給原生小程序傳參

方式一、使用postMessage

在web-view組件上有一個屬性“bindmessage”,官方是這么介紹的:

網頁向小程序 postMessage 時,會在特定時機(小程序后退、組件銷毀、分享)觸發并收到消息。e.detail = { data },data是多次 postMessage 的參數組成的數組

在 web-view 組件上綁定 “message”事件

在 H5 中 觸發 message 事件即可在小程序中接收 H5傳遞的數據

例子:

小程序 /pages/test/test.wxml :

<web-view src="" bindmessage="receiveMessage"></web-view>

小程序 /pages/test/test.js :

receiveMessage(e){
	console.log(e.detail)//接收H5傳過來的數據
}

H5:

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script>
wx.miniProgram.postMessage({ data: {foo: 'bar'} })
</script>

利用postMessage可以實現小程序與H5之間通訊,但只在小程序后退、組件銷毀、分享時觸發,所以在一些情況可能不滿足開發需求

方式二、利用頁面跳轉帶參

接口名說明最低版本
wx.miniProgram.navigateTo參數與小程序接口一致1.6.4
wx.miniProgram.navigateBack參數與小程序接口一致1.6.4
wx.miniProgram.switchTab參數與小程序接口一致1.6.5
wx.miniProgram.reLaunch參數與小程序接口一致1.6.5
wx.miniProgram.redirectTo參數與小程序接口一致1.6.5
wx.miniProgram.postMessage向小程序發送消息,會在特定時機(小程序后退、組件銷毀、分享)觸發組件的 message 事件1.7.1
wx.miniProgram.getEnv獲取當前環境1.7.1

例如現在有一個場景: H5為一個列表頁面,點擊列表子項時跳轉到原生小程序的詳情頁

H5:

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script>
function handleClick(e){
	let id = e.target.dataset.id
	let url = `/pages/detail/detail?id=${id}`;
	wx.miniProgram.navigateTo({
      url,
    });
}
</script>

小程序 /pages/detail/detail.js:

onLoad: function (options) {
	console.log(options.id)//接收H5傳過來的數據
}

原生小程序 給 web-view內嵌H5 傳參

原生小程序 給 web-view內嵌H5 傳參就很簡單了,原生小程序直接通過修改 web-view 的src屬性就行了

'xxx.com?arg=123'

h6頁面獲取url上的參數,這種方式會使頁面重新加載,如果不想引起頁面加載可以通過修改hash

'xxx.com#123'

H5頁面監聽hash值變化:

window.onhashchange=function(){
    alert('hash值改變')
    console.log(window.location.hash)//獲取當前hash值
}

到此,關于“微信小程序與webview H5交互怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枝江市| 涡阳县| 咸宁市| 巨鹿县| 嵊泗县| 高雄市| 金乡县| 聊城市| 敦煌市| 修水县| 冕宁县| 桦甸市| 沙坪坝区| 伊吾县| 永春县| 嘉鱼县| 乐至县| 富民县| 屏山县| 成都市| 古浪县| 双江| 巴塘县| 宁阳县| 东城区| 容城县| 华池县| 汝南县| 肃宁县| 神农架林区| 广丰县| 科尔| 招远市| 华坪县| 池州市| 永州市| 屏东县| 虎林市| 安宁市| 乐亭县| 乐平市|