【问题标题】:Anyway to disable cache?无论如何要禁用缓存?
【发布时间】:2017-09-26 02:07:03
【问题描述】:

我有这个滑块,我创建了一个面板,因此您可以在那里上传图像并修改显示顺序,但是您可以将图像上传到服务器并且除非您清除缓存,否则更改不会出现-

【问题讨论】:

  • 请添加代码。
  • 每次页面加载时你想清除浏览器缓存的内容?

标签: javascript php html caching


【解决方案1】:

问题在于网页需要实时更新,例如,如果用户从图库中删除了一张图片,我正在刷新它,但该图片仍然存在(但不在服务器或数据库中),所以这有点令人沮丧必须删除缓存,我什至通过 jquery 制作 location.refresh(true) 但它不起作用,我必须 f5 两次​​或 3 次才能使其消失/出现(图像)

您可以为此使用 AJAX。 看看这个线程,它可能会对你有所帮助。祝你今天过得愉快 :) Using AJAX / jQuery to refresh an image

【讨论】:

    【解决方案2】:

    您可以更改网址以欺骗浏览器。

    例如,不要有这样的网址:

    https://mydomain/myimage.png
    

    你可以添加一个参数,让浏览器看到一个新的 url。

    https://mydomain/myimage.png?v0.0.1
    

    在此示例中,我使用了版本标记,您可以根据需要手动更改它(这样您就可以继续使用缓存,但以您的方式)。当您更改该参数时,浏览器将看到一个新的 url,因此它将再次加载图像。

    您也可以使用时间戳代替版本标签。


    编辑(更多信息)

    在 url 上添加时间将“强制”浏览器每次都获取图像。

    例子

    https://mydomain/myimage.png?date=2017-04-28_10-06-00
    

    另外,在开发中,您可以在浏览器上使用ctrl+F5清除页面缓存并重新加载页面。

    缓存很有用,您应该尝试使用它,因此完全禁用它不是一个好的解决方案。

    可以在这里找到一些相关的答案,包括 php 解决方案: PHP force refresh image

    【讨论】:

    • 问题是网页需要实时更新,例如,如果用户从图库中删除图像,我正在刷新但图像仍然存在(但不在服务器或数据库中)所以不得不删除缓存有点令人沮丧,我什至通过 jquery 制作 location.refresh(true) 但它不起作用,我必须 f5 两次​​或 3 次才能使其消失/出现(图像)跨度>
    • 如果您希望每次浏览器都获得新版本,您可以使用时间戳(如我所说)。时间戳是时间的“格式”,因此 url 每次都会改变。在 javascript 上,您可以使用 new Date().getTime(); 获取时间戳。
    猜你喜欢
    • 1970-01-01
    • 2022-06-13
    • 2017-01-02
    • 2011-02-20
    • 2012-04-29
    • 2013-09-14
    • 2012-04-15
    • 2011-04-14
    • 1970-01-01
    相关资源
    最近更新 更多