[英]How to append a random number (or time in milliseconds) to all links on a page with JavaScript?
我在地址https://MyPage/index.html
有一個 static HTML 頁面
該頁面包含幾張圖片,位於https://MyPage/MyImages
圖像鏈接在 HTML 源代碼中,如下所示:
…<span><img width=x height=y src="MyImages/imageXYZ.png"</span>…
單擊按鈕時,或者更好的是,加載頁面時,所有圖像鏈接都應通過附加隨機數或例如以毫秒為單位的當前時間來重寫,以便鏈接之后看起來像這樣:
…<span><img width=x height=y src="MyImages/imageXYZ.png?1587624427"</span>…
我相信可以在這里找到可能的起點:
從那里開始,我如何添加到給定的示例中,以便(而不是不斷重定向)將隨機數或以毫秒為單位的時間附加到所有圖像鏈接?
const time_to_img = () => { document.querySelectorAll('img').forEach(e => { const dateStr = Date.now(); const date = new Date(dateStr); e.src = e.src + '?' + date.getTime(); }) } window.addEventListener('load', time_to_img);
<img src="https://picsum.photos/id/1/300/200" alt=""> <img src="https://picsum.photos/id/7/300/200" alt=""> <img src="https://picsum.photos/id/12/300/200" alt=""> <img src="https://picsum.photos/id/22/300/200" alt="">
在循環中,您計算了以毫秒為單位的時間,之后將其添加到每個圖像的 src 中?
現在如果你想為每張圖片分配不同的數字,你必須添加一些東西(隨機數?)。 這里有 4 張圖片,一切都在同一毫秒內完成
在此期間我做了這個:
<body onload="CacheBuster()";>
<script>
function CacheBuster() {
document.querySelectorAll('img').forEach(e => {
const dateStr = Date.now();
const date = new Date(dateStr);
e.src = e.src + '?' + date.getTime();
})
}
</script>
那有什么好處嗎? 它似乎完美地工作!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.