我有一个简单的预加载器:
<script type="text/javascript">
function preloader(){
document.getElementById("mioperspreloader").style.display = "none";
document.getElementById("mioperswrapper").style.display = "block";
}//preloader
window.onload = preloader;
</script>
我第二次重新加载我的网页预加载器从缓存加载数据,但我不想要! 你能帮助我吗? 感谢
答案 0 :(得分:1)
假设您在预加载器中有一个图像,并且想要阻止它进行缓存,那么您必须更改网址,如:
function preloader(){
document.getElementById("mioperspreloader").style.display = "none";
document.getElementById("mioperswrapper").style.display = "block";
var img = document.querySelector("#mioperspreloader img.preloader");
img.src = /images/preloader.png?__nocache__=" + new Date().valueOf();
}
这样你就可以更改url,这是缓存的关键。
但是你的预加载器中可能有多个图像,甚至是ajax json响应,如果你想阻止所有这些图像进行缓存,那么就为网址执行此操作。
你说过
预加载器从缓存中加载数据
并且加载数据可能意味着你有ajax调用,然后添加一个时间戳或你可以提出的任何唯一字符串,作为你的ajax调用url的nocache查询字符串。
jQuery解决方案: 如果您使用wordpress或其他使用jQuery的框架,您也可以为您的ajax调用执行此操作:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
});
如果要禁用缓存,仅针对特定阶段,则必须使用cache: true
运行相同的代码,以返回正常模式:
$.ajaxSetup({ cache: true });