2012-03-09 28 views
29

GithubページでホストされているJekyllブートストラップベースのブログがあります。ジキルブートストラップベースのブログ - ヘッダーの期限切れ?

私の問題は次のとおりです。自分のWebページで何かを変更するたびに、ページ(CTRL + R)を強制的にリロードして変更を確認する必要があります。

ジキルまたは私のブラウザは、送信できる新しいバージョンがあることを認識していないようです。

これをうまく処理するためにJekyllを設定するにはどうすればよいですか?

+2

Github Pagesが積極的なキャッシュヘッダーを送信し、特定の時間までリソースの更新バージョンをチェックしないようブラウザに指示する可能性があります。 – Charles

+0

Github Pagesでこれを回避する可能性はありませんか? –

+0

キャッシングの実践について質問する必要があります。 – Charles

答えて

-1

静的リソースでキャッシュをバイパスしたい場合は、そのファイルを押すたびにファイルの名前を変更することができます。これにより、新しい名前のファイルについて何も知らないので、ブラウザは新しいリソースを取得します。例えば

旧ファイル名:project.css 新しいファイル名:projectv01.css

それとも何でもしたいと思います。

+1

参照ページは、ユーザーエクスペリエンスを完全に破るように改名する必要があります。 index.htmlの代わりにindex01.html :)でなければなりません。そうしないと、キャッシュはprojectv01.cssではなく、project.cssを指すindex.htmlを提供します。 javascriptを使って?content =すべてのコンテンツURLにcache = randomを追加するのは解決策ですが、ひどい悪い解決策です。 – whardier

5

アセットキャッシュの破損を処理するためのいくつかのjekylプラグインがあります。

https://github.com/ixti/jekyll-assets/

http://matthodan.com/2012/11/22/jekyll-asset-pipeline.html

私はジキル-資産を試してみましたが、それは、MD5のバージョン番号を持つ資産のすべての種類を管理するとして、それはかなりいいです。

コンパイル時に私のCSSリンクに文字列を追加する前に使用しました。

<link href="{{ ASSET_PATH }}/css/global.css?{{ site.time | date:'%Y%m%d%U%H%N%S' }}" rel="stylesheet"> 
+0

質問は資産についてではなく、htmlキャッシュに関するものです。 –

+0

yopしかし、このプラグインはキャッシュの破損文字列を追加するので、ここで答えました。私の悪い:) –

3

これらのメタタグをhtmlに追加して、ページのブラウザキャッシュを無効にすることができます。

<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="-1" /> 
関連する問題