【问题标题】:Reload Page in Div在 Div 中重新加载页面
【发布时间】:2014-01-15 13:24:27
【问题描述】:

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

我目前已配置此脚本,因此它每 5 秒重新加载一次以提供近乎实时的更新。

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

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

加载后的基本脚本平均 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 });
});

抱歉,上次只发了一部分。

【问题讨论】:

  • 有人知道另一种不消耗额外资源的方法吗?

标签: html refresh


【解决方案1】:

你需要设置一个间隔:

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

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

【讨论】:

  • @MacMan 更新了我的答案。此代码将每 3 秒刷新一次“stats.php”文件。如果这不起作用,那么您能否说明您在控制台中遇到的错误或您在 PHP 中遇到的错误。
  • 谢谢这确实有效。但我仍然看到更高的 CPU 使用率,然后只是刷新页面。
猜你喜欢
  • 2014-02-28
  • 1970-01-01
  • 2013-09-18
  • 2016-04-19
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 1970-01-01
  • 2013-10-28
相关资源
最近更新 更多