4

私はDjangoでプロジェクトを行っており、djangos-css(http://github.com/dziegler/django-css)とSass(http://sass-lang.com/)を使用しています。Sassファイルは、django-cssを使用して開発中に提供されます。1秒ごとにCSSアセットを取得するJavaScriptルーチンを作成したいと思います。これの目的は、デザイナーがSassファイルを編集し、保存を押して、アプリケーションを切り替えたり更新を押したりすることなく、ブラウザーで結果をすぐに確認できるようにすることです。

基本的に、JavaScriptで、ページを更新せずにブラウザに特定のファイルを再ダウンロードさせる方法が必要です。これは可能ですか?

4

2 に答える 2

2

最も簡単な方法は、通常、URLに一意のパラメーターを追加することです。私は、タイムスタンプを使用することがよくあります。

var timestamp = (new Date()).getTime();
url += '?time=' + timestamp;

リクエストにすでにパラメータが含まれている場合は注意してください&time=' + timstamp。代わりに追加する必要があります。

各リクエストは一意に見えるため、ブラウザはリクエストをキャッシュできません。

于 2010-01-30T21:48:23.143 に答える
2

すべてのキャッシュがクエリ文字列を使用してコンテンツをキャッシュするわけではありません。

Steve Soudersは、「…キャッシュ可能なリソースのクエリ文字列を回避する」ことを推奨しています。彼は、この場合、リクエストの5〜20%がキャッシュされないことを発見しました。特にクエリ文字列は、キャッシュ無効化の一部のCDNではまったく機能しません。

より良い方法は、リリースごとにjavascriptファイル名を使用してMD5を生成することです。

{path to script file}/filename-{md5 hash}.js

于 2011-12-02T09:28:50.577 に答える