1

得到这个从 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';

$("#loadingtime" + [index]).html(result);然后我不想将结果显示到 html div ( ) 中,而是将该结果放入另一个 php 数组中:

$php_array[] = $("#loadingtime" + [index]).html(result);

有人可以帮我这样做吗?

4

1 回答 1

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;
}
于 2013-03-21T13:56:56.210 回答