My website 的加载时间比最佳值更长,因为它请求了大量小文件,而这些小文件最终会占用大量请求。我最能控制的是许多数据文件,它们将始终加载,但将它们作为单独的文件使生成它们的过程更容易。有没有一种方法可以将一个 HTTP 请求放入(tar?)文件中,然后用 JavaScript 有效地处理它?这是我现在用来读入数据文件的函数。我真正想要的是一种请求可以轻松解析的文件的方法。文件结构非常简单,只是一个重复模式的 4 字节浮点数的集合。我想我可以,也可能将它们组合成一个稍微复杂一点的数据结构,但如果有一种方法可以组合所有这些文件并用 JavaScript 读取它,我很乐意看到它!
还有一些值得注意的是一些小图标文件,我有十几个我喜欢做同样的事情,合并成一个文件,然后加载那个文件。
function loadBinaryFloatArray(url, convertFunction,variable_name, onLoaded) {
var mRequest = new XMLHttpRequest();
mRequest.open('GET', url);
mRequest.responseType = 'arraybuffer';
mRequest.onreadystatechange = function () {
if (this.readyState === 4) {
// Get bytes
var buffer = this.response;
var dataview = new DataView(buffer);
// Create buffer (4 bytes / float)
var mFloatArray = new Float64Array(buffer.byteLength / 8);
// Copy floats
for (var i = 0; i < mFloatArray.length; i++)
{
mFloatArray[i] = dataview.getFloat64(i * 8,true); // At every 8th byte
}
onLoaded(convertFunction(Array.prototype.slice.call(mFloatArray)),variable_name)
}
};
mRequest.send();
}
答案 0 :(得分:1)
嗯,最简单的图标就是使用 spritemap。
话虽如此。这通常不是你应该做的事情:加入服务器上的文件,因为如果失败,你必须重新发送这个巨大的请求。
我也看了你的网站。对我来说,它加载得非常快。主要问题是您一遍又一遍地请求相同的图像 (WhereIsRoadster.png),这可能是您网站速度变慢的原因。或者也可能与您的互联网连接有关。没有更多细节,我无法告诉你更多。