Javascript iframe为许多网址加载时间功能

时间:2013-04-08 11:26:08

标签: php javascript

有一个非常简单的函数来检查iframe的加载时间:

function loadTime() {
        var beforeLoad = (new Date()).getTime();        
        $('#loading_iframe').one('load', function () {
            var afterLoad = (new Date()).getTime();
            var result = (afterLoad - beforeLoad) / 1000;
            $("#loadingtime").html(result + " sec");
        }); 
    }   

我像这样加载我的框架(其中$ url =某个链接)):

<iframe style="visibility:hidden;display:none" id="loading_iframe" src="<?php echo $url;?>"></iframe>

之后我将结果放入div:

<div id="loadingtime"></div>

这适用于一个单独的网址,我希望它适用于一系列网址。下面是我想要的结构(这可能吗?):

foreach ($url_array as $i)
  iframe gets loaded with url
    javascript that gets the loadtime of the url
      passint the javascript value to php varriable
        write the php varriable to a database
close foreach and begin the next loop

1 个答案:

答案 0 :(得分:0)

是的,你想做的事情是完全可能的。

如果您使用IFrame的ID,则应考虑到这些ID对于每个iframe都应该是唯一的,否则当您创建具有相同ID的新iframe时,您将失去对旧版iframe的引用。

您还可以创建全局load事件侦听器和使用该URL作为唯一键的对象,以将数据映射到每个IFrame。

为此,请创建一个带有URL键和对象的Object作为存储启动时和加载处理程序的值。每次触发全局load侦听器时,检查目标是否为IFrame,如果是,则使用其src在该地图中查找,获取开始时间,计算可存储的持续时间在那个对象中也是如此。

祝你好运!