最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年08月20日 09:58:16   作者:sunny  
這篇文章主要介紹了詳解解決小程序中webview頁面多層history返回問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

預(yù)期表現(xiàn):點(diǎn)小程序原生的返回按鈕后返回到小程序上個(gè)頁面

解決方案:通過history.pushState添加歷史記錄名目,history.onpopstate監(jiān)聽歷史記錄條目發(fā)生變化時(shí),調(diào)用小程序APIwx.navigateBack

window.addEventListener('popstate', (event) => {
  wx.miniProgram.navigateBack();
});
const code = getSearch('code'); // 偽代碼,獲取查詢參數(shù)
if (!code) { // 頁面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 { // 頁面A2
  history.pushState({page: 1}, null, window.location.href);
}

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用JS實(shí)現(xiàn)任意位置縮放圖片功能

    使用JS實(shí)現(xiàn)任意位置縮放圖片功能

    本文將用一個(gè)簡單的例子詳細(xì)講解如何用原生JS一步步實(shí)現(xiàn)完整的任意位置縮放圖片功能,無任何第三方依賴,指針事件 進(jìn)行多端統(tǒng)一的事件監(jiān)聽,干貨滿滿,需要的朋友可以參考下
    2024-04-04
  • mpvue 頁面預(yù)加載新增preLoad生命周期的兩種方式

    mpvue 頁面預(yù)加載新增preLoad生命周期的兩種方式

    這篇文章主要介紹了mpvue 頁面預(yù)加載新增preLoad生命周期的兩種方式,本文重點(diǎn)給大家講解了第一種方式,需要的朋友可以參考下
    2019-10-10
  • 一個(gè)可拖拽列寬表格實(shí)例演示

    一個(gè)可拖拽列寬表格實(shí)例演示

    本文將詳細(xì)介紹一個(gè)可拖拽列寬表格實(shí)例,需要了解更多的朋友可以參考下
    2012-11-11
  • 全面解析Bootstrap表單使用方法(表單控件)

    全面解析Bootstrap表單使用方法(表單控件)

    這篇文章全面解析了Bootstrap表單的使用方法,本文重點(diǎn)介紹Bootstrap表單控件,感興趣的小伙伴們可以參考一下
    2015-11-11
  • Javascript下的keyCode鍵碼值表

    Javascript下的keyCode鍵碼值表

    Javascript下的keyCode鍵碼值表...
    2007-04-04
  • 移動(dòng)端js圖片查看器

    移動(dòng)端js圖片查看器

    這篇文章主要為大家詳細(xì)介紹了js圖片查看器的制作方法,可以實(shí)現(xiàn)圖片的滑動(dòng)等效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 如何編寫一個(gè)d.ts文件的步驟詳解

    如何編寫一個(gè)d.ts文件的步驟詳解

    這篇文章主要給大家介紹了關(guān)于如何編寫一個(gè)d.ts文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用d.ts具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • 簡單實(shí)現(xiàn)bootstrap導(dǎo)航效果

    簡單實(shí)現(xiàn)bootstrap導(dǎo)航效果

    這篇文章主要為大家詳細(xì)介紹了如何簡單實(shí)現(xiàn)bootstrap導(dǎo)航效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • JavaScript實(shí)現(xiàn)可終止輪詢請求的方法

    JavaScript實(shí)現(xiàn)可終止輪詢請求的方法

    輪詢請求就是間隔相同的時(shí)間(如5s)后不斷地向服務(wù)端發(fā)起同一個(gè)接口的請求,當(dāng)然不能無限次去請求,所以輪詢必須要有個(gè)停止輪詢的機(jī)制,今天通過本文給大家介紹JavaScript實(shí)現(xiàn)可終止的輪詢請求,感興趣的朋友一起看看吧
    2022-06-06
  • 刪除javascript中注釋語句的正則表達(dá)式

    刪除javascript中注釋語句的正則表達(dá)式

    這篇文章主要介紹了刪除javascript中注釋語句的正則表達(dá)式,需要的朋友可以參考下
    2014-06-06

最新評論

温州市| 建宁县| 文成县| 敖汉旗| 子长县| 汝阳县| 德格县| 永定县| 偃师市| 黔西县| 汽车| 泰和县| 三亚市| 富民县| 介休市| 万荣县| 巴彦县| 通化市| 青冈县| 手机| 会理县| 怀柔区| 梅河口市| 磐石市| 彭阳县| 武鸣县| 自贡市| 安远县| 石家庄市| 出国| 津市市| 乌拉特中旗| 青川县| 如东县| 金塔县| 遵义市| 平定县| 枞阳县| 东港市| 万宁市| 宜宾县|