我创建了下面的函数,它基本上解析给定 url 的 HTML,扫描某个类并处理它找到的文本:
我的功能的一个小样本:
function displayRating(theID){
var $theUrl = $('#' + theID + ' > a').attr('href');
jQuery.support.cors = true;
var num, str, nums=[], avgnum, avgstr, avgnums=[];
$.ajax({
url: $theUrl,
type: "GET",
timeout: 3000,
dataType: "text",
success: function(data) {
$(data).find(".count").each(function () {
str = $(this).text();
num = parseInt(str.substring(1,str.length-1), 10);
nums.push(num);
});
var totalSum = 0;
for (var i = 0; i < nums.length; i++){
totalSum += nums[i];
}
more code here...
});
}
我调用了这个函数 15 次,因为我需要显示几个可以从几个页面收集的数据。使用这种方法,我希望http
请求的数量与调用函数的数量相同(15)。但是,我得到了一个非常大的数字(340),这意味着在解析 HTML 时,它还会在后台请求我调用的 url 中包含的所有图像。这意味着页面的加载时间是不可接受的(5-6 秒)。
我的问题是:我可以优化此功能,使其将 HTML 作为纯文本读取,而不在后台加载所有图像吗?有没有办法最小化这些请求?
注意:不幸的是,PHP 不是一个选项。