Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在Div中重新加载页面_Html_Refresh - Fatal编程技术网

Html 在Div中重新加载页面

Html 在Div中重新加载页面,html,refresh,Html,Refresh,我有一个php脚本,它监视我的一个网络设备,并在屏幕上显示各种基本统计数据。这个很好用,我不需要改变它的内容 我目前已经配置了这个脚本,所以它每5秒重新加载一次,以提供接近实时的更新 我想更改它,以便将此页面加载到一个DIV中,并且只刷新该DIV。 我已经成功地使用JQuery并使用我在网上找到的ajaxdiv刷新脚本实现了它 我遇到的问题是,与正常页面刷新相比,此方法使用的资源量 加载后的基本脚本平均CPU使用率约为3%。 JQuery版本约占22%,Ajax版本约占16% 有没有办法将一个页

我有一个php脚本,它监视我的一个网络设备,并在屏幕上显示各种基本统计数据。这个很好用,我不需要改变它的内容

我目前已经配置了这个脚本,所以它每5秒重新加载一次,以提供接近实时的更新

我想更改它,以便将此页面加载到一个DIV中,并且只刷新该DIV。 我已经成功地使用JQuery并使用我在网上找到的ajaxdiv刷新脚本实现了它

我遇到的问题是,与正常页面刷新相比,此方法使用的资源量

加载后的基本脚本平均CPU使用率约为3%。 JQuery版本约占22%,Ajax版本约占16%

有没有办法将一个页面重新加载到一个不会开始使用更多资源的DIV中

我使用的jquery是:

 $("#new_stats").load('stats.php');
   }, 3000);
Ajax脚本是:

var seconds = 5;
var divid = "new_stats";
var url = "stats.php";

////////////////////////////////
//
// Refreshing the DIV
//
////////////////////////////////

function refreshdiv(){

// The XMLHttpRequest object

var xmlHttp;
try{
xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Your browser does not support AJAX.");
return false;
}
}
}

// Timestamp for preventing IE caching the GET request

fetch_unix_timestamp = function()
{
return parseInt(new Date().getTime().toString().substring(0, 10))
}

var timestamp = fetch_unix_timestamp();
var nocacheurl = url+"?t="+timestamp;

// The code...

xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
document.getElementById(divid).innerHTML=xmlHttp.responseText;
setTimeout('refreshdiv()',seconds*1000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}

// Start the refreshing process

window.onload = function startrefresh(){
setTimeout('refreshdiv()',seconds*1000);
}
谢谢:)

更新 这就是我正在使用的JQUERY

$(document).ready(function() {
     $("#new_stats").load("stats.php");

   var refreshId = setInterval(function() {
      $("#new_stats").load('stats.php');
   }, 5000);
   $.ajaxSetup({ cache: false });
});

抱歉,上次只发布了部分内容。

您需要设置时间间隔:

$(document).ready(function() {
    $("#new_stats").load("stats.php");

    setInterval(function() {
        $("#new_stats").load('stats.php');
    }, 3000);
});

@麦克曼更新了我的答案。此代码将每3秒刷新一次“stats.php”文件。如果这不起作用,那么请说明您在控制台中遇到了什么错误,或者您在PHP中遇到了什么错误。谢谢,这确实起作用。但我仍然看到CPU使用率高于刷新页面。有人知道不消耗额外资源的另一种方法吗?