我的HTML代码中有两个输出,如下所示:Loaded: 0
Requested: 0
它们向用户显示加载了多少文件,请求了多少文件,因此用户可以估计加载完成的时间。 在Javascript内部,我使用这个函数更新数字:function updateLoadNumbers() {
document.getElementById("loaded").value = loadedObjects;
document.getElementById("requested").value = requestedObjects;
}
LoadedObjects和RequestedObjects更新正确,在控制台中打印它们可以确认。 问题是,这在Firefox中运行良好,但Chrome和Safari不会立即显示更新的数字,它们只有在所有文件加载完毕后才会显示。
每个文件都加载以下代码:function loadFileAsText(filename, callback) {
var req = new XMLHttpRequest();
req.open("GET", filename + "?antibuffer=" + Math.random(), false);
req.onload = function() {
if(req.status >= 200 && req.status < 300 || req.status == 0)
callback(req.responseText);
else
console.error(req.statusText, req.responseText);
};
req.send();
}