中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

小程序怎樣更新webview頁面

發布時間:2021-01-18 11:55:37 來源:億速云 閱讀:549 作者:小新 欄目:移動開發

這篇文章主要介紹小程序怎樣更新webview頁面,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

場景

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

方法一

最常見的做法,修改一下webview的url,加點query參數什么的,頁面就會更新了。但是這會增加webview的瀏覽history,導致用戶在后退的時候,會在webview內退到前一個頁面,而不是退到小程序的前一個頁面。

方法二

在小程序內調用wx.redirectTo(OBJECT)方法。這里填當前頁面的url。其實是關閉當前頁面重新打開,變相達到刷新webview的目的。但是由于重新打開了小程序頁面,因此耗時會增加一些。并且,用戶會看到前一個頁面閃一下,然后出現新頁面。

方法三

首先,讓webview做條件渲染:

<web-view wx:if="{{ webviewUrl }}" src="{{ webviewUrl }}" />

需要刷新時,先把webviewUrl設為空,銷毀當前webview。然后再把webviewUrl設為當前值。如下:

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

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

以上是“小程序怎樣更新webview頁面”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨脱县| 靖边县| 新密市| 甘南县| 崇义县| 昌宁县| 班戈县| 司法| 子洲县| 崇阳县| 阳原县| 沿河| 上饶市| 黄龙县| 安阳县| 临潭县| 依安县| 团风县| 红原县| 望都县| 潜江市| 慈利县| 南丹县| 佛坪县| 岐山县| 玛纳斯县| 桦甸市| 普陀区| 宝丰县| 鞍山市| 吴江市| 沙田区| 兴仁县| 株洲县| 龙游县| 江华| 石首市| 全南县| 泾川县| 遂溪县| 和平区|