我正在使用此代码不断刷新包含PHP文件的div:
$(document).ready(function() {
setInterval(function() {
$('#ContentLeft').load('live_stats1.php').fadeIn("slow");
$('#ContentRight').load('live_stats2.php').fadeIn("slow");
}, 2000);
});
我的HTML看起来像:
<div id="ContentLeft">
<?php include 'live_stats1.php'; ?>
</div>
<div id="ContentRight">
<?php include 'live_stats2.php'; ?>
</div>
当我在谷歌Chrome浏览器中查看显示live_stat1.php和live_stats2.php页面不断加载时,这会导致问题,因为它们不断刷新并减慢互联网/在互联网连接上使用大量带宽它正在运行?
答案 0 :(得分:1)
这取决于live_stats1.php
和live_stats2.php
我正在猜测的处理量,因为您正在加载某些类型的统计信息,您可能在这些脚本中执行了很多数据库查询。
我认为2秒是一个很短的间隔,我会想到增加这个。有人对这些脚本完成并找到最佳间隔时间所需的时间进行基准测试。
在使用.load()
时,您可以考虑在完成后添加回调并设置变量。然后在每个循环中,您可以检查先前的加载是否已完成。因为没有必要继续加载没有时间完成的脚本
var contentLeftLoaded = true;
var contentRightLoaded = true;
setInterval(function() {
//Has content loaded from previous request
if(contentLeftLoaded) {
contentLeftLoaded = false;
$('#ContentLeft').load('live_stats1.php', function() {
$('#ContentLeft').fadeIn("slow");
contentLeftLoaded = true;
});
}
if(contentRightLoaded) {
contentRightLoaded = false;
$('#ContentRight').load('live_stats2.php', function() {
$('#ContentRight').fadeIn("slow");
contentRightLoaded = true;
});
}
}, 2000);