成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【小程序】小程序刷新webview小結(jié)

娣辯孩 / 2793人閱讀

摘要:場景在小程序其它頁面做了操作,數(shù)據(jù)發(fā)生改變,回到頁面時(shí)需要更新里面的數(shù)據(jù)。由于小程序沒有提供與的實(shí)時(shí)通信能力,因此刷新頁面是個(gè)可考慮的做法。小結(jié)目前我了解到的情況來看,確實(shí)沒有一個(gè)簡單的可以直接無副作用地刷新小程序。

場景

在小程序其它頁面做了操作,數(shù)據(jù)發(fā)生改變,回到webview頁面時(shí)需要更新webview里面的數(shù)據(jù)。由于小程序沒有提供與webview的實(shí)時(shí)通信能力,因此刷新頁面是個(gè)可考慮的做法。

方法一

最常見的做法,修改一下webview的url,加點(diǎn)query參數(shù)什么的,頁面就會(huì)更新了。但是這會(huì)增加webview的瀏覽history,導(dǎo)致用戶在后退的時(shí)候,會(huì)在webview內(nèi)退到前一個(gè)頁面,而不是退到小程序的前一個(gè)頁面。

方法二

在小程序內(nèi)調(diào)用wx.redirectTo(OBJECT)方法。這里填當(dāng)前頁面的url。其實(shí)是關(guān)閉當(dāng)前頁面重新打開,變相達(dá)到刷新webview的目的。但是由于重新打開了小程序頁面,因此耗時(shí)會(huì)增加一些。并且,用戶會(huì)看到前一個(gè)頁面閃一下,然后出現(xiàn)新頁面。

方法三

首先,讓webview做條件渲染:

需要刷新時(shí),先把webviewUrl設(shè)為空,銷毀當(dāng)前webview。然后再把webviewUrl設(shè)為當(dāng)前值。如下:

  refreshWebview: function () {
    let tmpUrl = this.data.webviewUrl;
    this.setData({
      webviewUrl: ""
    });
    setTimeout(() => {
      this.setData({
        webviewUrl: tmpUrl
      })
    }, 100);
  }

這樣便可以在不影響導(dǎo)航欄歷史的情況下刷新頁面,也可以是跳轉(zhuǎn)url。
這里setData之后,頁面內(nèi)容的更新應(yīng)該是異步執(zhí)行的,因此我們后一次修改url需要延時(shí)一小段時(shí)間,否則會(huì)出現(xiàn)error。
猜測setData后頁面實(shí)際更新應(yīng)該是在下一次的requestAnimationFrame,因此如果頁面完全不卡頓可能16ms就可以了,保險(xiǎn)起見,我設(shè)了100ms。

小結(jié)

目前我了解到的情況來看,確實(shí)沒有一個(gè)簡單的API可以直接無副作用地刷新小程序webview。方法三是我自己摸索出來的辦法。但是總覺得這么個(gè)簡單的問題應(yīng)該有更直接的做法才對,奇怪。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/96641.html

相關(guān)文章

  • 網(wǎng)頁程序遷移至微信程序web-view詳解

    摘要:網(wǎng)頁引入網(wǎng)頁發(fā)起支付由后臺(tái)返回,主要是需要統(tǒng)一下單平臺(tái)的微信支付頁面支付參數(shù)錯(cuò)誤,請稍后重試支付成功支付失敗支付錯(cuò)誤分享功能小程序直接分享的所在的頁面,如果需要加上頁面參數(shù),那我們就需要處理一下了。 小程序現(xiàn)在越來越流行,但是公司的很多項(xiàng)目都是用網(wǎng)頁寫的,小程序語法不兼容原生網(wǎng)頁,使得舊有項(xiàng)目遷移至小程序代價(jià)很高; 小程序之前開放了webview功能,可以說是網(wǎng)頁應(yīng)用的一大福音了,但...

    junbaor 評論0 收藏0
  • 網(wǎng)頁程序遷移至微信程序web-view詳解

    摘要:網(wǎng)頁引入網(wǎng)頁發(fā)起支付由后臺(tái)返回,主要是需要統(tǒng)一下單平臺(tái)的微信支付頁面支付參數(shù)錯(cuò)誤,請稍后重試支付成功支付失敗支付錯(cuò)誤分享功能小程序直接分享的所在的頁面,如果需要加上頁面參數(shù),那我們就需要處理一下了。 小程序現(xiàn)在越來越流行,但是公司的很多項(xiàng)目都是用網(wǎng)頁寫的,小程序語法不兼容原生網(wǎng)頁,使得舊有項(xiàng)目遷移至小程序代價(jià)很高; 小程序之前開放了webview功能,可以說是網(wǎng)頁應(yīng)用的一大福音了,但...

    AlphaGooo 評論0 收藏0
  • 總結(jié)開發(fā)過程踩到的坑(五)(程序篇)

    摘要:最近開始接觸了小程序的開發(fā),由于時(shí)間問題,文檔閱讀的并不完備,也踩了很多坑。的使用微信小程序不支持原生頁面跳轉(zhuǎn),包括和,若要跳轉(zhuǎn)小程序應(yīng)用內(nèi)頁面,需要使用,詳見。參考文獻(xiàn)微信小程序開發(fā)者文檔 最近開始接觸了小程序的開發(fā),由于時(shí)間問題,文檔閱讀的并不完備,也踩了很多坑。不得不說,微信的野心真是越來越大了,但是它超高的流量注定了它有這個(gè)資本。 原文地址:mini programs 目...

    young.li 評論0 收藏0
  • 總結(jié)開發(fā)過程踩到的坑(五)(程序篇)

    摘要:最近開始接觸了小程序的開發(fā),由于時(shí)間問題,文檔閱讀的并不完備,也踩了很多坑。的使用微信小程序不支持原生頁面跳轉(zhuǎn),包括和,若要跳轉(zhuǎn)小程序應(yīng)用內(nèi)頁面,需要使用,詳見。參考文獻(xiàn)微信小程序開發(fā)者文檔 最近開始接觸了小程序的開發(fā),由于時(shí)間問題,文檔閱讀的并不完備,也踩了很多坑。不得不說,微信的野心真是越來越大了,但是它超高的流量注定了它有這個(gè)資本。 原文地址:mini programs 目...

    Cympros 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<