2013-04-08 78 views
4

的Javascript iframe的加載時間函數有一個很簡單的功能,用來檢查一個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> 

這非常適用於一個單一的URL,我想它的工作爲一系列網址。繼承人我想要的結構(這是可能的?):

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 

回答

0

是的,你想要做什麼是完全可能的。

如果您使用的是IFrame的ID,您應該考慮到這些ID對每個iframe都應該是唯一的,否則當您使用相同的ID創建新iframe時,您將失去對較舊iframe的引用。

您還可以創建一個全局的load事件偵聽器和一個使用該URL作爲唯一鍵將數據映射到每個IFrame的對象。

爲此,請創建一個包含URL鍵和對象的對象作爲存儲啓動時間和裝載處理程序的值。每次全局load偵聽器被觸發時,檢查目標是否爲IFrame,如果是,則使用其src在該映射中查找,獲取開始時間,計算可以存儲在該對象中的持續時間。

祝你好運!