• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序更新webview页面的三种方法

微信小程序更新webview页面的三种方法

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了webview,javascript,小程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

场景

在小程序其它页面做了操作,数据发生改变,回到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。

小结

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

相关文章:

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

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

以上就是微信小程序更新webview页面的三种方法的详细内容,更多请关注其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信小程序如何使用webview调用微信扫一扫的功能
  • 微信小程序更新webview页面的三种方法

相关文章

  • 你应该知道的微信小程序概念篇
  • 微信小程序笑话大全demo代码
  • 微信小程序网络API 上传、下载详细说明
  • 微信小程序开发指南:注意点和常用快捷键
  • 微信小程序 开发指南详解
  • 小程序循序渐进: 简 介、文本、事件、样式
  • 微信小程序中显示html格式内容的方法
  • 微信小程序如何实现图片放大预览功能
  • 微信小程序 跳转传递数据的方法
  • 微信小程序-v2ex

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程序navigateTo数据传递详解
    • 使用微信小程序开发一个弹窗页面的方法介绍
    • 微信小程序loading组件显示载入动画的用法介绍
    • 有关合法域名配置的课程推荐
    • mac版微信web开发者工具(小程序开发工具)无法显示二维码 解决方案
    • 微信小程序(应用号)开发实战记账软件实例
    • 详解微信小程序开发自己制作小组件实例代码
    • 小程序自定义组件的实现方法(代码)
    • 微信小程序 选择器(时间,日期,地区)实例详解
    • 什么是懒加载?小程序中图片懒加载的两种实现方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有