Closed xyyaxyy closed 1 year ago
插件能正常提示更新,但点击刷新后页面 404?
是的,项目是部署在 /admin/ 文件夹下面的。刷新之前页面路径 www.test.com/admin/#/home,刷新之后 www.test.com/admin/?time=1680578947180#/home。?time=1680578947180按理说应该追加到最后的
function reloadPageWithoutCache() {
const url = new URL(window.location.href)
url.searchParams.set('__time__', Date.now().toString())
window.location.replace(url.href)
}
你打开项目,在控制台运行下这个方法,看下会不会 404
,我在一个用 hash
路由的项目运行这个方法,没有问题。
还有这个 404
页面是项目中自定义的 404
, 还是说 nginx
返回的 404
nginx 返回的404,searchParams设置参数到 hash前面去导致的。 window.pluginWebUpdateNotice_.onClickRefresh 点击刷新的方法,我该在放在什么地方重置
nginx 返回的404,searchParams设置参数到 hash前面去导致的。 window.pluginWebUpdateNotice_.onClickRefresh 点击刷新的方法,我该在放在什么地方重置
放在入口文件就行,index.js main.js 之类的
window.pluginWebUpdateNotice_.onClickRefresh = () => window.location.reload()
你什么浏览器,什么版本。我本地真没复现。 www.test.com/admin/?time=1680578947180#/home 这个 url 感觉怪怪的,但完全是没问题的。
const url = new URL('http://www.test.com/admin/?__time__=1680578947180#/home')
console.log(url.hash) // #/home
console.log(url.search) // ?__time__=1680578947180
谷歌浏览器最新版的, url.searchParams.set() 在hash模式下设置的参数就会是这种。
你那个项目地址能发出来吗?我看下,不需要提供账号密码
我测试了另外一个项目,可以正常刷新,应该是nginx配置问题。不过刷新后的url也是这种,https://demo.antsxdp.com/admin/
admin/?time=1680599936206#/login 这种 url 是没有问题的,虽然看起来怪。
看下其中一个 nginx
是不是有 try_files $uri $uri/ /index.html
这个配置。
不过我记得 hash
路由并不需要这个配置的。
我升级到1.5.0遇到这个问题,降级到1.3.1问题解决
我升级到1.5.0遇到这个问题,降级到1.3.1问题解决
因为 1.3 刷新只是简单的 location.reload
目前的刷新是用的这个方法
function reloadPageWithoutCache() {
const url = new URL(window.location.href)
url.searchParams.set('__time__', Date.now().toString())
window.location.replace(url.href)
}
试下最新的 v1.5.1
webpack构建的,项目不是部署在根目录下的,点击刷新之后404,该怎么配置