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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:35:45
字體:
來源:轉載
供稿:網友

小程序開發中遇到的問題:小程序中嵌套了一個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. + '?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會存值,如果直接關閉頁面,不會被清除,那么在小程序中訪問時就直接回退了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 廊坊市| 澎湖县| 高雄市| 文水县| 彰化县| 古田县| 游戏| 鹤庆县| 卫辉市| 自贡市| 邵武市| 两当县| 胶州市| 游戏| 忻城县| 含山县| 临沧市| 兴文县| 商丘市| 安溪县| 吉首市| 沁源县| 团风县| 东至县| 中方县| 南陵县| 大石桥市| 建瓯市| 新安县| 克什克腾旗| 洪泽县| 上杭县| 江孜县| 博爱县| 尉犁县| 鹤庆县| 库车县| 湄潭县| 济南市| 随州市| 阳江市|