赞
踩
当我们重新部署前端项目的时候,如果用户一直停留在页面上并未刷新使用,会存在功能使用差异性的问题,因此,当前端部署项目后,需要提醒用户有去重新加载页面。
vue、js、webpack
script src 的hash值去判断
,每次打包都会生成唯一的hash值,只要轮询去判断不一样了,那一定是重新部署了(感兴趣的还可去看方案一:编译项目时动态生成一个记录版本号的文件,轮询请求该文件。前端项目部署自动检测更新后通知用户刷新页面(前端实现,技术框架vue、js、webpack)——方案一:编译项目时动态生成一个记录版本号的文件_新版本发布后,怎么用技术手段通知用户刷新页面?-CSDN博客)
页面右下角提示更新:
Step1:在src目录下封装 auto-update.js
- /*
- * @Description: 自动更新
- */
-
- // const timeData = 60 * 1000 // 检查间隔时间
- const timeData = 20 * 1000 // 检查间隔时间
- let hidden = false // 页面是否隐藏
- let setTimeoutId
- let needTip = true // 默认开启提示
-
- let oldScript = []
- let newScript = []
-
- const getHtml = async () => {
- const html = await fetch('/').then(res => res.text()) //读取index html
- return html
- }
-
- // const scriptReg = /<script.*src=["'](?<src>[^"']+)/gm
-
- const parserScript = (html) => {
- const reg = new RegExp(/<script(?:\s+[^>]*)?>(.*?)<\/script\s*>/ig) //script正则
- return html.match(reg) //匹配script标签
- }
-
-
- const init = async () =>{
- const html = await getHtml()
- // console.log("声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/978361推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。