<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        詳解如何探測小程序返回到webview頁面

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:57:10
        文檔

        詳解如何探測小程序返回到webview頁面

        詳解如何探測小程序返回到webview頁面:在公司項(xiàng)目中經(jīng)常會遇到一個場景, 嘗試過各種不同的方法, 最后想到了一種很技術(shù)上簡單且可行的方法. 經(jīng)常被QA同學(xué)反應(yīng)同一類型的問題 項(xiàng)目是小程序(wepy), 部分頁面使用webview(vue). 經(jīng)常會遇見一個場景: 當(dāng)小程序navigateTo到一些頁面對用戶的收
        推薦度:
        導(dǎo)讀詳解如何探測小程序返回到webview頁面:在公司項(xiàng)目中經(jīng)常會遇到一個場景, 嘗試過各種不同的方法, 最后想到了一種很技術(shù)上簡單且可行的方法. 經(jīng)常被QA同學(xué)反應(yīng)同一類型的問題 項(xiàng)目是小程序(wepy), 部分頁面使用webview(vue). 經(jīng)常會遇見一個場景: 當(dāng)小程序navigateTo到一些頁面對用戶的收

        在公司項(xiàng)目中經(jīng)常會遇到一個場景, 嘗試過各種不同的方法, 最后想到了一種很技術(shù)上簡單且可行的方法.

        經(jīng)常被QA同學(xué)反應(yīng)同一類型的問題

        項(xiàng)目是小程序(wepy), 部分頁面使用webview(vue). 經(jīng)常會遇見一個場景: 當(dāng)小程序navigateTo到一些頁面對用戶的"收藏狀態(tài)", "身材細(xì)節(jié)"做了修改后, 用戶點(diǎn)擊返回按鈕回到上一個頁面, 收藏的狀態(tài)或是身材細(xì)節(jié)沒有改變.

        那是當(dāng)然的, 作為一個小程序中的webview, api相當(dāng)有限, 沒有一個事件可以讓網(wǎng)頁觸發(fā)重新渲染動作, 輪詢更是不理智的表面功夫.

        我們試過綁定blur和click事件來模擬事件, 試過從業(yè)務(wù)邏輯上加入一些時間點(diǎn)檢查狀態(tài), 最后才想到個技術(shù)簡單, 操作簡單的解決方案.

        解決方法

        第一步, 在小程序webview綁定的url上加上時間戳.

        <web-view src="{{url}}"/>
        onShow () {
         this.url = ${base_url}?ts=Date.now()
        }
        

        第二步, 在html里監(jiān)聽query變化. 我遇到問題的項(xiàng)目使用的是vue.

        watch: {
         '$route.query.ts': function () {
         this.fetchData()
         this.patchRender() // 獲取數(shù)據(jù), 重新渲染變化的部分
         }
         }
        

        這樣就解決了觸發(fā)退回到webview的事件探測問題, 剩下的只要根據(jù)業(yè)務(wù)來重新渲染可能變化的部分就行了.

        更多

        小程序的部分每次都需要改變url的query參數(shù)沒有辦法, 但是對vue設(shè)計(jì)這么良好的框架還有一定改良空間.

        我們可以把這串代碼寫到mixin里, 對性能有些小影響, 但方法沒寫也不會去執(zhí)行, 只是在不需要的頁面上多了個observer.

        Vue.use(function () {
         Vue.mixin({
         watch: {
         '$route.query.ts': function () {
         this.$options.onShow && this.$options.onShow.call(this)
         }
         }
         })
        })
        

        那么在vue頁面中就省去了寫watch的麻煩, 直接像小程序那樣寫onShow方法就行了.

         onShow () {
         this.fetchData()
         this.patchRender() 
         },
         methods: {
         fetchData () {//...}
         }
        

        總結(jié), 使用了這個方法如需再添加需要探測onShow事件的頁面, 只需要:

        小程序webview的url在onShow的時候修改ts參數(shù)

        在vue文件里添加onShow方法, 進(jìn)行業(yè)務(wù)操作. (方法里的this是正常指向vm的)

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        詳解如何探測小程序返回到webview頁面

        詳解如何探測小程序返回到webview頁面:在公司項(xiàng)目中經(jīng)常會遇到一個場景, 嘗試過各種不同的方法, 最后想到了一種很技術(shù)上簡單且可行的方法. 經(jīng)常被QA同學(xué)反應(yīng)同一類型的問題 項(xiàng)目是小程序(wepy), 部分頁面使用webview(vue). 經(jīng)常會遇見一個場景: 當(dāng)小程序navigateTo到一些頁面對用戶的收
        推薦度:
        標(biāo)簽: 小程序 探測 webview
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top 主站蜘蛛池模板: 91精品免费在线观看| 亚洲午夜免费视频| 日本免费一区二区三区最新vr| 97se亚洲综合在线| 亚洲精品免费观看| 亚洲日韩中文字幕天堂不卡| 免费观看激色视频网站bd| 亚洲色偷偷av男人的天堂| 在线观看www日本免费网站| 亚洲视频在线观看免费视频| 无遮免费网站在线入口| 亚洲永久在线观看| 日韩一区二区三区免费体验| 亚洲av最新在线观看网址| 国产区卡一卡二卡三乱码免费| 野花视频在线官网免费1| 亚洲人成网站色在线入口| 岛国岛国免费V片在线观看| 亚洲AV无码久久精品成人| 91久久精品国产免费一区| 亚洲一区二区三区不卡在线播放| 最近免费中文字幕4| 日韩色视频一区二区三区亚洲| 四虎影库久免费视频| 在线看片免费人成视频久网下载| 久久香蕉国产线看观看亚洲片| 五月亭亭免费高清在线| 美女18一级毛片免费看| 狠狠色伊人亚洲综合成人| 2021在线永久免费视频| 久久无码av亚洲精品色午夜| 亚洲自偷自偷偷色无码中文| 亚洲美女免费视频| 狼人大香伊蕉国产WWW亚洲| 亚洲色大成网站www永久一区| 91福利视频免费观看| 亚洲国产精品久久久久秋霞小 | 亚洲大尺度无码专区尤物| 日本免费xxxx| 含羞草国产亚洲精品岁国产精品| 亚洲中文字幕无码久久2017|