我有一个 js,它从不同的 php 文件和显示 js vars 的 html 中获取 sql 查询。
到目前为止,它可以工作一段时间,但由于 js 在获取数据时缓存每个 php 页面,它会慢慢使我的浏览器超载,最终导致浏览器崩溃。
我对此有几个问题: A)我将如何禁用 2 个 php 页面的“旧”集的缓存... B)有更好的方法吗?
var seconds = 3;
var divs = new Array("div1", "div2");
var urls = new Array("jaxcount.php", "jaxcount2.php");
// Refresh DIV
function refreshdiv() {
for (var i = 0; i < 2; i++) {
var div = divs[i];
var url = urls[i];
dorefresh(div, url);
break;
}
}
function dorefresh(div, url){
// Stolen XMLHTTP Request Object
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Exploder
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return false;
}
}
}
// IE Optimizations
fetch_unix_timestamp = function () {
return parseInt(new Date().getTime().toString().substring(0, 10));
};
var timestamp = fetch_unix_timestamp();
var nocacheurl = url + "?t=" + timestamp;
// The Beef
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState === 4) {
document.getElementById(div).innerHTML = xmlHttp.responseText;
setTimeout('refreshdiv()', seconds * 1000);
}
};
xmlHttp.open("GET", nocacheurl, false);
xmlHttp.send(null);
}
// Trigger Refresh
var seconds;
window.onload = function startrefresh() {
setTimeout('refreshdiv()', seconds * 1000);
};