2017-01-09 102 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; 
}); 

與上面的代碼,你可以做console.log(mynum)alert(mynum),看看該頁面負載值是mynumconsole.log()輸出或alert()對話框將顯示添加到.extra_pdf_link a末尾的值。

如果使用服務器端代碼完成,這將更有效(更快)。我不確定你是在創建一個靜態的html應用程序,還是在使用PHP,C#等。

+0

作爲一個側面節點,有些人可能更喜歡通過生成日期和時間來生成唯一的數值。這種方法也很好。 – Pegues

相關問題