2017-01-09 3 views
0

ftp経由で毎月新しいファイルを上書きするクライアントがあります。このファイルはウェブサイトにリンクされています。ユーザーがリンクをダウンロードすると、最新のバージョンではなくキャッシュされたバージョンが表示されます。ブラウザに最新版のpdfをダウンロードさせる

強制的にリンクに一意の/乱数を追加したいと思います。

これはjqueryでどのように行うことができますか?

<div class="extra_pdf_link"> 
<a href="http://www.website.com/lib/link-to-file.pdf"> 
</div> 

は結果を望んでいた:ここ

<div class="extra_pdf_link"> 
<a href="http://www.website.com/lib/link-to-file.pdf?2390S"> 
</div> 
+0

'Math.random();'を使ってランダムな値を生成できます。これにより、ブラウザがキャッシュする場合に備えて、常に最新のバージョンのファイルをダウンロードすることになります。 – Pegues

+0

ソリューションが投稿されました。私はそれがあなたのために働くことを望む。 – Pegues

答えて

0

はjsfiddleです:あなたが最初に何をしたいのかhttps://jsfiddle.net/yar48rrx/1/

は番号を生成しています。この数値は、既存のhref値の末尾に追加するために使用されます。

は、以下のことを試してみてください。上記のコードでは

var mynum = Math.floor((Math.random())*10000); 

$(".extra_pdf_link a").attr("href", function(i, href) { 
    return href + '?' + mynum; 
}); 

、あなたはそのページの負荷の値がmynum何のためにあるのか確認するためにconsole.log(mynum)またはalert(mynum)を行うことができます。そのconsole.log()出力またはalert()ダイアログには、.extra_pdf_link aの最後に追加された値が表示されます。

これは、サーバー側のコードを使用すると効率的(かつはるかに速く)です。静的なHTMLアプリケーションを作成しているのか、PHP、C#などのものを使っているのか分かりません。

+0

そして、サイドノードとして、日時を生成することによってユニークな数値を生成する方が好きかもしれません。このアプローチもうまくいきます。 – Pegues

関連する問題