小程序與h5之間的跳轉(zhuǎn)(webview)
在微信官網(wǎng)中,h5跳小程序并帶參是有api的,直接使用wx.miniProgram.navigateTo(url)就可以了,但是項(xiàng)目中往往這個(gè)是不夠用的,因?yàn)槲覀兛赡苓€想著從小程序中執(zhí)行完一些程序后拿到返回值給返回到h5中,這時(shí)這個(gè)參數(shù)就不好帶到h5中了,所以這篇文章就解決了這個(gè)小程序向h5傳參問題,當(dāng)然也是我自己經(jīng)過百度其他人的文章最后得到的結(jié)論,目前使用起來是可以的,僅供參考
方法就是直接更改webview的鏈接
假如A是h5上的某一個(gè)頁面,,B是包含h5的webview那個(gè)小程序中頁面,,C是h5要跳轉(zhuǎn)到小程序的那個(gè)小程序頁面。
因?yàn)槲业膆5項(xiàng)目有token存在,所以不能將webview的鏈接置空再給新鏈接(因?yàn)檫@樣h5始終會到和獲取token那個(gè)頁面而不是A頁面)
1、A跳轉(zhuǎn)到C(傳urls是當(dāng)前頁面的路徑)文章來源:http://www.zghlxwxcb.cn/news/detail-694394.html
wx.miniProgram.navigateTo({
url: ‘小程序page?urls=’+**encodeURIComponent(window.location.href)**
})
2、C回到A(拿到了C給回來的結(jié)果,例如返回了code)
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2];
prevPage.setData({
newUrl: **this.urlpage** + '?success=' + data
})
3、B頁面接收C頁面返回的code,要在onshow中調(diào)用
<web-view v-if="webviewUrl" :src="webviewUrl"></web-view>
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //當(dāng)前頁面
let data = currPage.data;
if(data.newUrl){
that.webviewUrl = data.newUrl;
}
如果直接在C頁面上做回退事件,因?yàn)锳頁面不會被重定向,所以不會拿到code,但是我們需要code,所以將剛才的urls和code拼接起來給urlpage并傳給B頁面的webview的src上,這樣h5的token也不會失效,展示頁面也是A頁面,code值也就拿到了文章來源地址http://www.zghlxwxcb.cn/news/detail-694394.html
到了這里,關(guān)于小程序與h5之間的跳轉(zhuǎn)(webview)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!