基于Jekyll Bootstrap的博客 - 过期标头?

30

我有一个基于Jekyll Bootstrap的博客托管在Github Pages上。

我的问题是:每次我更改网页内容,都必须强制重新加载页面(CTRL + R)才能看到更改。

Jekyll或者我的浏览器似乎不能意识到有新版本可用来发送。

我应该如何配置Jekyll以更好地处理这个问题?


2
很有可能Github Pages正在发送激进的缓存头,告诉浏览器在一定时间内不要检查资源的更新版本。 - Charles
那么在Github Pages上无法绕过这个问题吗? - Sebastian Hoitz
你需要询问他们关于他们的缓存实践。 - Charles
嘿@SebastianHoitz,你解决了这个问题吗?我也遇到了类似的问题。 - n_x_l
我也问过他们,但没有得到答复。 - Aseem Kishore
3个回答

6

问题不是关于资产,而是关于HTML缓存。 - Murat Çorlu
抱歉,这个插件添加了缓存击破字符串,这就是我在这里回答的原因。我的错 :) - Yannick Schall

3
您可以在html中添加这些元标签,以禁用浏览器缓存您的页面。
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

-1
如果您想绕过静态资源缓存,可以每次推送时更改文件名。这将使浏览器获取新资源,因为它不会知道具有新名称的文件。
例如:
旧文件名:project.css 新文件名:projectv01.css 或者您喜欢的其他名称。

1
引用页面也必须重命名,这将完全破坏用户体验。而不是使用index.html,必须使用index01.html :). 否则,缓存将提供指向project.css而不是projectv01.css的index.html。使用JavaScript向每个内容URL添加?cache=random是一种解决方案...但是这是一个可怕的糟糕解决方案。 - whardier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接