3

Google Code がファイルのバージョン管理をどのように処理するかがよくわかりません。誰でもアクセスできるjQueryプラグインを構築しています。そのようです:

<script type="text/javascript" src="http://jquery-old-browser-warning.googlecode.com/files/jquery.browser-warning.js"></script>

このスクリプトは、同じプロジェクトの他のファイルに (ajax 経由で) アクセスします。

問題は、新しいファイルをアップロードすると、何も変更されていないように見えることです。新しいファイルには新しい名前を付けることをお勧めします。ただし、スクリプトがロードするファイル名を変更する必要があります。しかし、その後、スクリプト ファイルも変更する必要があり、それによってすべての実装が壊れてしまいます (上記のスクリプト タグを使用)。

同じファイル名でアップロードするときにファイルを強制的に変更する方法はありますか?

PS: プロジェクト ページのファイル リストに直接移動した場合。次に、更新されたコンテンツを含むファイルを取得します。しかし、私が言ったように、ajax を介して取得する場合ではありません。

4

3 に答える 3

3

キャッシュを防止するための本で最も安価なトリックは、ランダムなコンテンツを GET パラメータに追加することです。

www.example.com/resources/resource.js?random=1234567

たとえば、これには現在のタイムスタンプを使用できます。

ただし、これにより、すべてのアクセスでコンテンツが再フェッチさ、クライアント側のキャッシュ メカニズムも無効になります。これは最後の手段としてのみ使用します。Google がキャッシュにそれほど厳しいのであれば、ファイルの名前を簡単に変更できるワークフローを開発したいと思います。

あなたのワークフローはわかりませんが、バージョン管理されたディレクトリで作業できますか? そのようです:

www.example.com/50/resources/resource.js
www.example.com/51/resources/resource.js

これにより、クライアントが使用するキャッシュはそのまま保持されますが、変更があった場合は常に、ブラウザーがコンテンツをリロードします。

于 2010-04-16T13:58:42.737 に答える
0

ブラウザの単なるキャッシュだと思うので、ajaxからファイルをリクエストするときは、ランダムなパラメータまたはバージョン番号を追加するだけです.

たとえば、Stackoverflow はバージョン パラメータを次のような静的コンテンツに追加します。

http://sstatic.net/so/all.css?v=6638

于 2010-04-16T13:59:22.213 に答える
0

「ダウンロード」エリアにファイルをアップロードすることについて話しているのですか?それらには、バージョン管理する必要があるなど、個別のファイル名が必要です。スクリプト コードをアップロードする場合は、使用しているバージョン管理システムから送信する必要があり、リビジョン間で同じ名前を保持する必要があります。

編集:あなたのコードスニペットは私のページに表示されませんでした.あなたがしようとしていることを誤解しています. クライアントページが読み込まれるたびにSVNリポジトリを参照することにGoogleが満足するとは思わないでください:)

于 2010-04-16T14:00:11.287 に答える