2013-05-17 83 views
0

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

这是我使用的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> 

有人可以帮助我吗?

+0

OOOOH,我知道这一个,答案是 - >'' – adeneo

+1

@ adeneo太糟糕了,不适合他的问题的一部分*) –

+0

@NielsKeurentjes - 这是一个不应该被使用的可怕发明。每十分钟更新一次内容通常对用户体验不利,甚至是新闻网站也很烦人,因此在您尝试阅读某些内容时会更新首页。 – adeneo

回答

3

Quoting myself

你不能 '重装一个div'。 A div只是整个网页上的一个元素,并且它本身没有从其加载的URL,所以它不能重新加载它。 无法重新加载。您可以用一个 Ajax调用来设置/替换div的内容,但这绝对不是“重新加载” - 您需要明确定义要从中加载其新内容的网址。

你需要写一些JavaScript,使用setTimeout安排要执行的功能,10分钟,然后用一个Ajax调用来检索JSON或HTML数据是那么无论解析的或放置在相关span元素。

在您非常特殊的情况下,您可以通过使用Facebook客户端Javascript API来让自己的生活更轻松,并且每10分钟发出一次FB.api(...)呼叫,因为这似乎是您想要的。

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重新加载该div每10分钟等:

setInterval("reloadDiv()", 600000); // 60 * 1000 * 10