得到这个从txt文件中读取数据(url)的javascript,然后将每个url放在一个框架中,计算在iframe中加载该url所花费的时间,然后将结果显示为html div
。
以下是代码:
<script type="text/javascript">
$.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.shift());
try {
$.each(loadTimes, function (index, value) {
var result = (value - beforeTimes[index]) / 1000;
if (result < 0) {
result = result * (-1);
}
$("#loadingtime" + [index]).html(result);
beforeLoad = value;
});
} catch(ex) {}
}).attr('src', array.shift());
});
</script>
imones.txt上面写有数据 - example1.com, example2.com
等等。我没有读取这个imones.txt
文件,而是想用php数组替换它:
$url_array = array();
$url_array[] = 'example1.com';
$url_array[] = 'example2.com';
然后我不想将结果显示到html div($("#loadingtime" + [index]).html(result);
)中,而是将结果放入另一个php数组中:
$php_array[] = $("#loadingtime" + [index]).html(result);
有人可以帮我这么做吗?
答案 0 :(得分:0)
解决这个问题:
// frontend
$.get(
"path_to_get_url_array", // server function
function(url_array){ // this receive your $url_array data
$.each(url_array, function(i, item) {
// run your code over item to calculate time
// save loadingtime
var loadingtime = '';
$.post(
"path_to_save_loadingtime", // server function
{
loadingtime = $("#loadingtime" + [index]).html(result);
}
});
}, 'json');
// backend get_url_array
function get_url_array()
{
// get $url_array from somewhere
echo json_encode($url_array);
exit;
}
// backend save_loadingtime
function save_loadingtime()
{
$loadingtime = $_REQUEST['loadingtime'];
// save $loadingtime to db
}
// when you want acess you data get it
function create_array()
{
// read all $loadingtime values from db
// populate $php_array
return $php_array;
}