iframeを使用してページの読み込み時間を調べようとしています。URLの配列があり、それをiframeの配列に入れてから、javascriptを使用して各iframeの読み込み時間を取得します。私の問題-私の時間値は配列ではないので、1つの値だけが表示されます(1番目のフレームの値が表示され、2番目にその上にある2番目のフレームの値に置き換えられます)。
<html>
<body>
<center>
<?php
$url = array('example.com', 'example2.com');
foreach($url as $i){
?>
<iframe onload="pageloadingtime();" width="505" height="505" scrolling="no" security="restricted" src="<?php echo "http://www.".$i; ?> "></iframe>
<?php
}
?>
<div id="loadingtime"></div>
</center>
</body>
<script type="text/javascript">
beforeload = (new Date()).getTime();
function pageloadingtime()
{
afterload = (new Date()).getTime();
secondes = (afterload-beforeload)/1000;
document.getElementById("loadingtime").innerHTML = "<font color='red'>(Page took " + secondes + " seconds to load)</font>";
}
</script>
</html>
このコードでは、URLの配列($ url)を作成し、foreachサイクルを実行して、URLと同じ数のiframeを作成し、javascriptを使用してページの読み込み時間をカウントします。読み込み時間を取得したら、それを「loadingtime」divに入れます。しかし、私が言ったように、値の配列を配置する代わりに、1つの値のみを配置します。
これに変更しましたが、何も表示されなくなりました。
beforeload = (new Date()).getTime();
function pageloadingtime()
{
var afterload = (new Date()).getTime();
secondes = (afterload-beforeload)/1000;
document.getElementById("loadingtime1").innerHTML += "<font color='red'>(Page took " + secondes + " seconds to load)</font><br>";
}