我得到了一个从文本文件中读取 url 并将它们一个接一个地放入 iframe 的代码。我想计算每个页面的加载时间。我通过标记 iframe 开始加载 url 之前的时间来做到这一点,并在加载后立即标记时间。加载后减去加载前给了我每个页面的加载时间。
$.get("text.txt", function (data) {
var array = data.split(/\r\n|\r|\n/)
var beforeLoad = (new Date()).getTime();
var loadTimes = [];
$('#1').on('load', function () {
loadTimes.push((new Date()).getTime());
$('#1').attr('src', array.pop());
$.each(loadTimes, function (index, value) {
var result = (value - beforeLoad) / 1000;
$("#loadingtime" + index).html(result);
});
}).attr('src', array.pop());
});
这里的问题 - 在加载时间之前。我不知道如何在每个 url 开始加载之前标记时间。在上面的代码中, beforeload 值是加载所有源之前的时间值,我希望每次将新源放入 iframe 时它都会改变。有什么建议我该怎么做?
编辑:修复它!
$.get("imones.txt", function (data) {
var array = data.split(/\r\n|\r|\n/)
var beforeLoad = (new Date()).getTime();
var loadTimes = [];
var beforeTimes = [];
$('#frame_id').on('load', function () {
beforeTimes.push(beforeLoad);
loadTimes.push((new Date()).getTime());
$('#frame_id').attr('src', array.pop());
$.each(loadTimes, function (index, value) {
var result = (value - beforeTimes[index]) / 1000;
if (result < 0) {
result = result * (-1);
}
$("#loadingtime" + index).html(result);
beforeLoad = value;
});
}).attr('src', array.pop());
});
不知道我在那里做了什么,但这对我有用,现在要分析它。在每个页面的加载时间之前,我制作了一个正确的存储数组。