【问题标题】:location.reload not updating page on remote server as it does locallylocation.reload 不像本地那样更新远程服务器上的页面
【发布时间】:2022-01-12 21:06:34
【问题描述】:

我正在尝试在 POST 请求完成后重新加载页面:

window.location.reload();

在我的本地机器上,这是更新页面上的内容,同时在我使用 Nginx 的远程服务器上,我必须强制刷新页面。

我试过了:

window.location = window.location
window.location.href = window.location.href
window.location.reload(true);
//reloading with a setTimeout function
//turning off the cache in nginx

【问题讨论】:

    标签: javascript nginx reload page-refresh


    【解决方案1】:

    默认情况下,您的浏览器可能正在缓存某些远程文件(CSS、JS)。您可以将 Nginx 配置为始终检查是否存在新文件。如果文件未更改,则返回304 Not Modified,或者与新文件一起返回200 OK

    ## Force browser to check for new JS & CSS files
    location ~ .(css|js)$ {
      add_header Cache-Control no-cache;
      etag on;
    }
    

    此外,如果 DevTools 打开,浏览器的重新加载行为可能会受到影响。 Chrome 提供了"Disable Cache" 选项来强制执行新请求

    【讨论】:

    • 我尝试了各种在 nginx 中禁用缓存的方法,现在也尝试了建议的方法,但似乎没有成功。
    • 为您的文件提供 Nginx 响应 $ curl -kI https://example.com/my_file.js
    • 脚本实际上在html模板中
    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 2019-02-07
    • 2017-04-12
    • 2014-05-06
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多