小程序缓存问题,h5缓存问题

这篇具有很好参考价值的文章主要介绍了小程序缓存问题,h5缓存问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

h5的缓存:

  1. 通过打包的时候加了配置 会自动将静态资源文件后面追加hash数值,这样静态文件发生变化的时候会生成新的hash值,之后每次发包的静态文件路径就是不同的了,所以升级版本就避免了缓存的问题
  h5: {
    publicPath: "/h5",
    staticDirectory: "static",
    esnextModules: ["taro-ui"],
    output: {
      filename: "js/[name].[hash].js",
      chunkFilename: "js/[name].[chunkhash].js",
    },
    imageUrlLoaderOption: {
      limit: 5000,
      name: "static/images/[name].[hash].[ext]",
    },
    miniCssExtractPluginOption: {
      filename: "css/[name].[hash].css",
      chunkFilename: "css/[name].[chunkhash].css",
    }
   }
  1. 是小程序跳转h5 时候参数带有时间戳,每次打开都是新的链接
<template>
  <web-view v-if="token" :src="linkUrl"></web-view>
</template>
<script>
export default {
  data() {
    return {
      isLoad: false,
      token: "",
      linkUrl: "",
    };
  },
  watch: {
    token(value) {
      console.log(value, "azhe1"); 
      this.linkUrl = `XXX/h5/#/h5/pages/photo/index?token=${value}&timeStamp=${new Date().getTime()}`;
      this.token = value;
    },
  },
  onShareAppMessage: function() {
    return {
      title: "XXX", // 分享名称
      path: "pages/auth/XXX/webView", // 这里写你这个页面的路径
      // imageUrl: image,
      imageUrl:
        "", //这个是显示的图片,不写就默认当前页面的截图
      success: function(shareTickets) {
        console.log(shareTickets + "成功");
        // 转发成功
      },
      fail: function(res) {
        console.log(res + "失败");
        // 转发失败
      },
      complete: function(res) {
        // 不管成功失败都会执行
      },
    };
  },
  created() {
    if (!this.$store.getters.token) {
      uni.navigateTo({
        url: "/pages/login/index",
      });
    }
    wx.showShareMenu({
      withShareTicket: true,
    });
  },
  onLoad() {
    console.log("load");
  },
  mounted() {
    console.log(this.linkUrl, "haha");
  },
  onShow() {
    if (this.$store.getters.token) {
      this.token = this.$store.getters.token;
      this.linkUrl = `XXX/h5/#/h5/pages/photo/index?token=${value}&timeStamp=${new Date().getTime()}`;
    }
  },
};
</script>

3.通过meta标签清除缓存

 <meta
      http-equiv="Cache-Control"
      content="no-cache, no-store, must-revalidate"
    />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />

​h5和小程序是两个单独部署的,所以互不影响

小程序的缓存:

只有在正式版可以测试,使用 wx.getUpdateManager API进行处理,在有新版本时提示用户重启小程序更新新版本文章来源地址https://www.toymoban.com/news/detail-647885.html

  methods: {
    // 下载小程序最新版本并重启
    downLoadAndUpdate: function(updateManager) {
      wx.showLoading();
      // 静默下载更新小程序新版本,onUpdateReady:当新版本下载完成回调
      updateManager.onUpdateReady(function() {
        wx.hideLoading();
        // applyUpdate:强制当前小程序应用上新版本并重启
        updateManager.applyUpdate();
      });
      // onUpdateFailed:当新版本下载失败回调
      updateManager.onUpdateFailed(function() {
        // 下载新版本失败
        wx.showModal({
          title: "已有新版本",
          content: "新版本已经上线了,请删除当前小程序,重新搜索打开",
        });
      });
    },
    autoUpdate: function() {
      let _this = this;
      // 获取小程序更新机制的兼容,由于更新的功能基础库要1.9.90以上版本才支持,所以此处要做低版本的兼容处理
      if (wx.canIUse("getUpdateManager")) {
        // wx.getUpdateManager接口,可以获知是否有新版本的小程序、新版本是否下载好以及应用新版本的能力,会返回一个UpdateManager实例
        const updateManager = wx.getUpdateManager();
        // 检查小程序是否有新版本发布,onCheckForUpdate:当小程序向后台请求完新版本信息,会通知这个版本告知检查结果
        updateManager.onCheckForUpdate(function(res) {
          // 请求完新版本信息的回调
          if (res.hasUpdate) {
            // 检测到新版本,需要更新,给出提示
            wx.showModal({
              title: "更新提示",
              content: "检测到新版本,是否下载新版本并重启小程序",
              success: function(res) {
                if (res.confirm) {
                  // 用户确定更新小程序,小程序下载和更新静默进行
                  _this.downLoadAndUpdate(updateManager);
                } else if (res.cancel) {
                  // 若用户点击了取消按钮,二次弹窗,强制更新,如果用户选择取消后不需要进行任何操作,则以下内容可忽略
                  wx.showModal({
                    title: "提示",
                    content:
                      "本次版本更新涉及到新功能的添加,旧版本将无法正常使用",
                    showCancel: false, // 隐藏取消按钮
                    confirmText: "确认更新", // 只保留更新按钮
                    success: function(res) {
                      if (res.confirm) {
                        // 下载新版本,重启应用
                        _this.downLoadAndUpdate(updateManager);
                      }
                    },
                  });
                }
              },
            });
          }
        });
      } else {
        // 在最新版本客户端上体验小程序
        wx.showModal({
          title: "提示",
          content:
            "当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试",
        });
      }
    },
  },
onLaunch: function() {
    this.autoUpdate();
  }

到了这里,关于小程序缓存问题,h5缓存问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 将发布的h5页面转换成微信小程序,无需重新开发,操作超级简单!

    使用到的技术为 uniapp 和 web-view 首先,我们先来了解一下web-view是什么: 简单的一句话来讲: web-view 是一个 web 浏览器组件,可以用来承载网页的容器,会自动铺满整个页面(nvue 使用需要手动指定宽高)。 web-view的各类属性值: 第一步:使用HBuilder创建一个uniapp项目,没有

    2024年02月09日
    浏览(51)
  • IIS发布.net6 api+微信小程序/H5真机调试接口的流程

    我们创建.net6 api程序,然后使用SqlSugar连接MySQL数据库,再使用iis发布,当然使用其他的也行。再开发一个微信小程序,手机运行小程序,手机运行H5,都可以看到数据库的数据,就是这么一个流程。 开始! 目录 第一,.net6api开发 第二,IIS发布.net6api 第三,开发微信小程序

    2024年02月16日
    浏览(45)
  • 微信小程序、h5兼容性问题(1)

    1. 微信小程序中border-image 设置渐变 导致border-radius 不生效。 不建议两者同时使用,实测ipone12 不兼容, ipone 12以上正常显示。可以使用背景图片代替。 2. h5 使用原生table tr、th、td封装表格,在ios 中样式失效 建议使用dev 整体布局。 3. 企业微信群二维码插件materialPlugin、cell

    2023年04月09日
    浏览(57)
  • 小程序嵌套H5跳转(web-view)问题解决

    项目场景:小程序内嵌h5页面时,点击某处需要跳转进去对应的页面,进行之后的业务逻辑。贴图两张:第一张为pc端小程序模拟器点击跳转时的截图,第二张为手机端测试接收的入参截图(第二张我是拿alert断点去查入参的) 但是目前你会发现,拿微信开发者工具测的时候就会

    2024年02月11日
    浏览(46)
  • 高德地图H5内嵌小程序遇到的跳转地图问题

    h5中的地图是这样展示的,在微信小程序是无法跳转的 引入jweixin.js vue里判断 在小程序这边接收传过来的参数(需要注意的是:高德地图坐标和腾讯坐标是一样的,只需要经纬度反过来即可) 最后在小程序中呈现是这样,就完美实现了

    2024年02月11日
    浏览(44)
  • 微信小程序webview嵌入H5页面,返回 UniAppJSBridgeReady,不触发问题

    公司的一个项目,要求用微信小程序实现对pdf文件,预览签字,用的uniapp开发 pdf预览这部分,用的pdf.js插件实现。 由于微信小程序中webview展示页面不能放在项目本地,要求远端请求网页。而且webview会铺满整个页面,导致我的签字按钮只能放在远端的H5页面实现,当时因为偷

    2024年02月15日
    浏览(52)
  • 解决小程序发布问题

    问题描述:微信小程序做好后发布不成功,微信公众平台登录小程序的发布页面也不显示任何东西 解决方案:         1.在微信公众平台打开设置页面  2.往下滑到最后会看见AppID,复制它  3.打开“微信开发者工具”-“详情”页面,点击“修改”按钮。粘贴刚才在微信公

    2024年02月13日
    浏览(22)
  • 微信小程序使用webview内嵌h5页面 wx.miniProgram.getEnv失效问题

    背景 最近接到一个h5需求,和普通的h5不一样,这个h5页面是嵌入到小程序中使用的,需求简单来说就是展示一个跳转按钮,判断如果是小程序环境下就进行跳转到其他小程序页面。 实现思路 核心逻辑其实就是判断小程序环境这一块,我们可以直接使用wxsdk来进行判断小程序

    2024年02月09日
    浏览(75)
  • 【vue】uniapp vue3 vite代理设置问题【H5 微信小程序】

    基于vue3版本的uniapp运行h5和微信小程序 uniapp运行h5请求接口成功,运行微信小程序请求接口不成功 vite.config.ts配置proxy .env配置请求接口域名 request.ts 请求接口文件 微信小程序识别不了代理的配置 需要判断当前是h5还是微信小程序端,对请求接口文件进行修改,其他文件不修

    2024年02月09日
    浏览(55)
  • 【微信小程序内嵌H5调用wx.miniProgram.navigateTo跳转无效问题】

    之前项目遇到的,各种判断逻辑都走通了,代码走到wx.miniProgram.navigateTo面前了就是跳转不了,试了很多种方法,都怀疑是这个api不适用了,结果一次尝试,发现还是地址的问题。 客户给的跳转地址: “pages/check/index/index.html?type=1” 试过但没成功的地址: “/pages/check/index/i

    2024年02月16日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包