如何用 JavaScript 给当前网页中的所有链接后面添加随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用 JavaScript 给当前网页中的所有链接后面添加随机数相关的知识,希望对你有一定的参考价值。

比如:href="index.html" 变更为 href="index.html?=421"

URL后面添加随机数通常用于防止客户端(浏览器)缓存页面。
浏览器缓存是基于url进行缓存的,如果页面允许缓存,则在一定时间内(缓存时效时间前)再次访问相同的URL,浏览器就不会再次发送请求到服务器端,而是直接从缓存中获取指定资源。URL后面添加随机数后,URL就不同了,可以看做是唯一的URL(随机数恰好相同的概率非常低,可以忽略不计),这样浏览器的缓存就不会匹配出URL,每次都会从服务器拉取最新的文件。
此方法同样适用于CDN缓存(通常是版本号而不是每次都变化的随机数,只有在版本更新后,URL的参数才会变)及服务端缓存屏蔽方法。
参考技术A 写个正则把链接URL都匹配出来进行修改就可以了。 参考技术B

看我的

<script>
setTimeout(function()
    var aEls = document.getElementsByTagName('a') || array();
    for(var i = 0; i < aEls.length; i++)
        aEls[i].href += '?t=' + Math.random();
    
,30);
</script>

如何用JavaScript获得后台传过来的参数

参考技术A 通过request的getParameter的方法获取
1、通过request.getParameter("参数名")获取后台的值
2、通过<%=变量%>的方式赋给js变量
示例:
<script>
<%
String s2 = (String)request.getParameter("参数名");//获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言
%>
var s = '<%=s2%>';//输出s2给js变量s
</script>本回答被提问者采纳
参考技术B Ajax.responseText

以上是关于如何用 JavaScript 给当前网页中的所有链接后面添加随机数的主要内容,如果未能解决你的问题,请参考以下文章

如何用js控制网页刷新后滚动条保持在原来的位置

怎么用键盘关闭网页?

如何用JavaScript获得后台传过来的参数

干货长文:如何用JavaScript写一个区块链?

如何用javascript点击指定的位置

如何用JavaScript获得后台传过来的参数