全网整合营销服务商

营销型网站+SEO优化+关键词快排=一站式服务

免费咨询热线:15959292472

[公司seo官网]微信小程序更新webview页面的三种方法

  

场景

 

  在小程序其它页面做了操作,数据发生改变,回到webview页面时需要更新webview里面的数据。由于小程序没有提供与webview的实时通信能力=★=◇,因此刷新页面是个可考虑的做法•△▪=。

  

方法一

 

  最常见的做法,修改一下webview的url◁▼•=,加点query参数什么的,页面就会更新了▪●■。但是这会增加webview的浏览history,导致用户在后退的时候,会在webview内退到前一个页面,而不是退到小程序的前一个页面。

  

方法二

 

  在小程序内调用wx▲▷□.redirectTo(OBJECT)方法…-…-。[镇江seo外包公司]微信小程序滚动视图容器如何实现的这里填当前页面的url。其实是关闭当前页面重新打开•◇▷▷,变相达到刷新webview的目的•▷△…。但是由于重新打开了小程序页面,因此耗时会增加一些。并且▽▲,用户会看到前一个页面闪一下,然后出现新页面。

  

方法三

 

  首先,[公司seo官网]让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。

  

小结

 

  目前我了解到的情况来看◁-□◆,确实没有一个简单的API可以直接无副作用地刷新小程序webview。方法三是我自己摸索出来的办法。但是总觉得这么个简单的问题应该有更直接的做法才对,宜昌市小程序制作公司奇怪。

  

相关文章:

  

微信小程序中的下拉刷新和上拉加载的实现方法详解

  

JS刷新父窗口的几种方式小结

  以上就是微信小程序更新webview页面的三种方法的详细内容,更多请关注久澳传媒编程栏目其它相关文章◆□!

[公司seo官网]微信小程序更新webview页面的三种方法

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。