国产探花免费观看_亚洲丰满少妇自慰呻吟_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會存值,如果直接關閉頁面,不會被清除,那么在小程序中訪問時就直接回退了。

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

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

圖片精選

主站蜘蛛池模板: 蒲江县| 于都县| 合江县| 西贡区| 枝江市| 平邑县| 湘乡市| 宁国市| 马公市| 渭南市| 武宣县| 简阳市| 壶关县| 屏山县| 平罗县| 绵阳市| 西城区| 莒南县| 西宁市| 嘉黎县| 九寨沟县| 普兰县| 光山县| 琼中| 卢氏县| 延边| 丹东市| 名山县| 宁陕县| 布尔津县| 临桂县| 秦安县| 岳普湖县| 盐山县| 电白县| 滁州市| 百色市| 泊头市| 饶平县| 菏泽市| 凤凰县|