我正在尝试使用 iframe 找出页面加载时间。我有一个 url 数组,我将其放入一个 iframe 数组中,然后我使用 javascript 获取每个 iframe 的加载时间。我的问题 - 我的时间值不是一个数组,所以它只显示 1 个值(它显示第 1 帧的值,然后在第二帧上用第 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 我计算页面加载时间。获得加载时间后,我将其放入“加载时间”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>";
}