国产探花免费观看_亚洲丰满少妇自慰呻吟_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武林網。


注:相關教程知識閱讀請移步到微信小程序開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 历史| 三江| 湟中县| 阜城县| 德化县| 灵石县| 镇江市| 宜昌市| 鄂尔多斯市| 泗阳县| 莆田市| 新宁县| 虞城县| 龙海市| 香河县| 二连浩特市| 平和县| 塘沽区| 台东县| 江华| 万年县| 安化县| 海城市| 乳山市| 清水河县| 清镇市| 油尖旺区| 江西省| 阜城县| 博兴县| 临夏县| 太仓市| 沈丘县| 昆明市| 阿坝县| 亳州市| 朝阳区| 台北市| 临猗县| 江北区| 临高县|