国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

詳解解決小程序中webview頁面多層history返回問題

2020-03-21 15:15:47
字體:
來源:轉載
供稿:網友

小程序開發中遇到的問題:小程序中嵌套了一個webview頁面,webview頁面中有靜默授權(A1頁面靜默授權后重定向到A2頁面),點小程序原生的返回按鈕會返回到A1頁面,然后頁面就會反復靜默授權

預期表現:點小程序原生的返回按鈕后返回到小程序上個頁面

解決方案:通過history.pushState添加歷史記錄名目,history.onpopstate監聽歷史記錄條目發生變化時,調用小程序APIwx.navigateBack

window.addEventListener('popstate', (event) => {  wx.miniProgram.navigateBack();});const code = getSearch('code'); // 偽代碼,獲取查詢參數if (!code) { // 頁面A1  if (isWeixin()) {    // 微信環境    const redirectUrl = window.location.href + '&code=1';    window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize' + '?appid=' + appId +    '&redirect_uri=' + encodeURIComponent(redirectUrl) +    '&response_type=code&scope=snsapi_userinfo' +    '#wechat_redirect'; // 靜默授權偽代碼  } else {    alert('當前不是微信環境');  }} else { // 頁面A2  history.pushState({page: 1}, null, window.location.href);}

剛開始想的解決辦法是用localStorage,跳轉到A2時存儲一個值,返回到A1時獲取這個值,如果有值就清除這個值并且回退到小程序頁面。聽起來似乎也可行,但小程序的緩存和微信的緩存是同步的,如果在微信環境中直接訪問A1頁面,重定向到A2會存值,如果直接關閉頁面,不會被清除,那么在小程序中訪問時就直接回退了。

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


注:相關教程知識閱讀請移步到微信小程序開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祥云县| 蚌埠市| 九龙坡区| 资源县| 仪征市| 门头沟区| 定襄县| 城固县| 陵水| 河津市| 平和县| 宁武县| 扶风县| 富民县| 神农架林区| 武胜县| 鱼台县| 呈贡县| 兴隆县| 剑河县| 谷城县| 长治县| 新邵县| 葵青区| 民县| 会同县| 灵山县| 扎鲁特旗| 平原县| 铜鼓县| 乃东县| 祁东县| 霍林郭勒市| 吉林省| 三河市| 石狮市| 西林县| 湘阴县| 石狮市| 老河口市| 宣化县|