摘要:聽(tīng)起來(lái)似乎也可行,但小程序的緩存和微信的緩存是同步的,如果在微信環(huán)境中直接訪問(wèn)頁(yè)面,重定向到會(huì)存值,如果直接關(guān)閉頁(yè)面,不會(huì)被清除,那么在小程序中訪問(wèn)時(shí)就直接回退了。
小程序開(kāi)發(fā)中遇到的問(wèn)題:小程序中嵌套了一個(gè)webview頁(yè)面,webview頁(yè)面中有靜默授權(quán)(A1頁(yè)面靜默授權(quán)后重定向到A2頁(yè)面),點(diǎn)小程序原生的返回按鈕會(huì)返回到A1頁(yè)面,然后頁(yè)面就會(huì)反復(fù)靜默授權(quán)
預(yù)期表現(xiàn):點(diǎn)小程序原生的返回按鈕后返回到小程序上個(gè)頁(yè)面
解決方案:通過(guò)history.pushState添加歷史記錄名目,history.onpopstate監(jiān)聽(tīng)歷史記錄條目發(fā)生變化時(shí),調(diào)用小程序APIwx.navigateBack
window.addEventListener("popstate", (event) => { wx.miniProgram.navigateBack(); }); const code = getSearch("code"); // 偽代碼,獲取查詢參數(shù) if (!code) { // 頁(yè)面A1 if (isWeixin()) { // 微信環(huán)境 const redirectUrl = window.location.href + "&code=1"; window.location. + "?appid=" + appId + "&redirect_uri=" + encodeURIComponent(redirectUrl) + "&response_type=code&scope=snsapi_userinfo" + "#wechat_redirect"; // 靜默授權(quán)偽代碼 } else { alert("當(dāng)前不是微信環(huán)境"); } } else { // 頁(yè)面A2 history.pushState({page: 1}, null, window.location.href); }
剛開(kāi)始想的解決辦法是用localStorage,跳轉(zhuǎn)到A2時(shí)存儲(chǔ)一個(gè)值,返回到A1時(shí)獲取這個(gè)值,如果有值就清除這個(gè)值并且回退到小程序頁(yè)面。聽(tīng)起來(lái)似乎也可行,但小程序的緩存和微信的緩存是同步的,如果在微信環(huán)境中直接訪問(wèn)A1頁(yè)面,重定向到A2會(huì)存值,如果直接關(guān)閉頁(yè)面,不會(huì)被清除,那么在小程序中訪問(wèn)時(shí)就直接回退了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109989.html
摘要:場(chǎng)景在小程序其它頁(yè)面做了操作,數(shù)據(jù)發(fā)生改變,回到頁(yè)面時(shí)需要更新里面的數(shù)據(jù)。由于小程序沒(méi)有提供與的實(shí)時(shí)通信能力,因此刷新頁(yè)面是個(gè)可考慮的做法。小結(jié)目前我了解到的情況來(lái)看,確實(shí)沒(méi)有一個(gè)簡(jiǎn)單的可以直接無(wú)副作用地刷新小程序。 場(chǎng)景 在小程序其它頁(yè)面做了操作,數(shù)據(jù)發(fā)生改變,回到webview頁(yè)面時(shí)需要更新webview里面的數(shù)據(jù)。由于小程序沒(méi)有提供與webview的實(shí)時(shí)通信能力,因此刷新頁(yè)面是個(gè)...
摘要:小程序的布局信息微信小程序中使用作為長(zhǎng)度單位,可以根據(jù)屏幕寬度進(jìn)行自適應(yīng)。運(yùn)行環(huán)境普通都是執(zhí)行在瀏覽器的宿主環(huán)境,瀏覽器提供等對(duì)象但是小程序是運(yùn)行在微信上下文中的,沒(méi)有和。 小程序堅(jiān)持著 無(wú)需下載、觸手可及、用完即走的設(shè)計(jì)理念和價(jià)值觀,幫助用戶縮短完成任務(wù)的時(shí)間。下面從以下幾點(diǎn)進(jìn)行總結(jié)??偨Y(jié)是參考三清水老師的小冊(cè)子,推薦大家去購(gòu)買。寫的很棒。 1. 小程序能做什么,不能做什么? sho...
摘要:最近開(kāi)始移動(dòng)端頁(yè)面的時(shí)候,被和坑了一把,于是決定對(duì)這兩個(gè)對(duì)象進(jìn)行一個(gè)全面的剖析。但出于隱私方面的原因,對(duì)象不再允許腳本訪問(wèn)已經(jīng)訪問(wèn)過(guò)的實(shí)際。唯一保持使用的功能只有和方法。華為執(zhí)行完之后,我們發(fā)現(xiàn)不能回退了,是不是就跟實(shí)現(xiàn)同樣的效果了。 最近開(kāi)始移動(dòng)端頁(yè)面的時(shí)候,被window.location和window.history坑了一把,于是決定對(duì)這兩個(gè)對(duì)象進(jìn)行一個(gè)全面的剖析。下面進(jìn)行我們的...
摘要:接下來(lái),我將從原理優(yōu)缺點(diǎn)等方面為大家分享跨平臺(tái)技術(shù)演進(jìn)。小程序年是微信小程序飛速發(fā)展的一年,年,各大廠商快速跟進(jìn),已經(jīng)有了很大的影響力。下面,我們以微信小程序?yàn)槔治鲂〕绦虻募夹g(shù)架構(gòu)。 前言 大家好,我是simbawu ,@BooheeFE Team Leader,關(guān)于這篇文章,有問(wèn)題歡迎來(lái)這里討論。 隨著移動(dòng)互聯(lián)網(wǎng)的普及和快速發(fā)展,手機(jī)成了互聯(lián)網(wǎng)行業(yè)最大的流量分發(fā)入口。以及隨著5G...
閱讀 713·2021-11-18 10:02
閱讀 2252·2021-11-15 18:13
閱讀 3188·2021-11-15 11:38
閱讀 2969·2021-09-22 15:55
閱讀 3688·2021-08-09 13:43
閱讀 2456·2021-07-25 14:19
閱讀 2466·2019-08-30 14:15
閱讀 3459·2019-08-30 14:15