0

我希望我页面上的一个 DIV 在 10 分钟后自动刷新。我不想重新加载整个页面,只是一部分。

这是我正在使用的 PHP:

function fblikes() {
$pageID = $_GET['id'];
$pagename = json_decode(file_get_contents('http://graph.facebook.com/' . $pageID));
echo $pagelikes->likes;
}

这就是我想要自动刷新的内容:

<div>
<span><?php fblikes(); ?></span>
</div>

有人可以帮我吗?

4

2 回答 2

3

引用我自己的话

您不能“重新加载 div”。Adiv只是整个网页上的一个元素,它本身没有加载它的 URL,因此无法重新加载。您可以使用 Ajax 调用设置/替换 div 的内容,但这绝对不是“重新加载”——您需要明确定义 URL 以从中加载其新内容。

您需要编写一些 Javascript,用于setTimeout安排一个函数在 10 分钟内执行,然后使用 Ajax 调用来检索 JSON 或 HTML 数据,然后对其进行解析或放置在相关span元素中。

在您非常具体的情况下,您可以使用 Facebook 客户端 Javascript API 让您的生活更轻松,并且只需FB.api(...)每 10 分钟发出一次调用,因为这似乎是您想要的。

于 2013-05-17T22:23:17.790 回答
1

为此使用 JQuery/Ajax。

例子:

function reloadDiv() {  
  $.ajax({
    url: URL_TO_YOUR_PHP_SCRIPT,
    type: 'get',
    success: function(result) {
       if (result) {
          $('#YOUR_DIV').html('<span>' + result + '</span>');
       }
    } 
  });
}

并使用 setTimeout 每 10 分钟重新加载此 div,例如:

setInterval("reloadDiv()", 600000); // 60 * 1000 * 10
于 2013-05-17T22:24:54.990 回答