我需要在进度条完成作业后重新加载页面并清除缓存,但是我无法从php刷新它,因为在到达重定向部分之前发送了标题。
完成php功能后,页面将重新加载jQuery。
第一次页面输入功能工作正常并且进度条工作但是在完成功能和重新加载页面之后,进度条即使用 ctrl + F5 也无法正常工作,但是当我去另一页并回来工作正常,所以我猜问题是页面重定向/重新加载。
我根据intercooler.js使用自定义进度条并使用这样的进度条功能:
// progress bar counter
function progress_go(from, to) {
var bar = new ProgressBar.Path('#cloud-path', {
//easing: 'easeInOut',
duration: 500,
step: function (state, path) {
var value = Math.round(path.value() * 100);
if (value == 99) {
window.location.assign("/machine/?id=<?php echo $data['machine']['detail']['id'] ?>");
}
if (value === 0) {
$("#cloud-progress").find(".counter > span").html('0')
} else {
$("#cloud-progress").find(".counter > span").html(value)
}
}
});
bar.set(from / 100);
bar.animate(to / 100); // Number from 0.0 to 1.0
}
此函数计数器字符从php [flush]发送并在最后重新加载页面。我用windwos.location.reload(true);但它也不起作用。
看起来页面似乎没有很好地重新加载并将数据保存在缓存中。
我尝试使用以下代码清除php中的缓存:
// set php execution time to unlimited
set_time_limit(0);
// disable cache on server
@ini_set('zlib.output_compression', 0);
@ini_set('output_buffering', 0);
@ini_set('implicit_flush', 1);
// set content length to calculate progress percentage
header("Content-length: 101");
@ob_end_clean();
请不要给我负面印记,因为我对此感到很累 代码也许我说错了。如果你需要更多的信息,请告诉我,我给你。