繁体   English   中英

如何将 append 随机数(或以毫秒为单位的时间)发送到带有 JavaScript 的页面上的所有链接?

[英]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>…

我相信可以在这里找到可能的起点:

更改页面上的所有链接

如何更改所有链接 javascript

如何将页面上的每个链接更改为新内容?

从那里开始,我如何添加到给定的示例中,以便(而不是不断重定向)将随机数或以毫秒为单位的时间附加到所有图像链接?

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM