2012-04-05 55 views
0

所以基本上,我不知道有关PHP,但不知何故,我设法让这个脚本工作。
(该脚本检查是否是直播,在线[上www.own3d.tv],如果是在网上,它显示的拖缆与观众的名称。如果是离线的,它什么也不显示。)

我插它到我的WordPress的siderbar。但事实是,当我打开我的页面时,所有其他内容都会加载,但侧边栏需要几秒钟才能加载。我想这需要很长时间来检查直播。
那么,有没有办法让它加载更快,或让它加载边栏上的其他东西?

在此先感谢您的答复。
问候慢速页面加载在WordPress的侧边栏

<html> 
<body> 
<p style="width:300px; height:250px; padding:1px; border:5px solid #66a"> 
<?php 





function pageTime() 
{ 
static $_pt; 
    if($_pt == 0) $_pt = microtime(true); 
    else return (string)(round(microtime(true)-$_pt ,3)); 
} 

pageTime(); 





//Froggen 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=112348"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Froggen - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/112348/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 



//Athene 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=42146"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Athene - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/42146/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 




//Guardsman Bob 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=34046"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Guardsman Bob - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/34046/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 



//The Rain Man 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=38853"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'The Rain Man - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/38853/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 


//TheOddOne 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=6416"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'TheOddOne - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/6416/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 


//Dyrus 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=37905"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Dyrus - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/37905/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 


//Xpecial 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=10953"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Xpecial - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/10953/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 


//Chaox 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=33356"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Chaox - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/33356/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 


//Wickd 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=18755"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Wickd - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/18755/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 


//Lapaka 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=214"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Lapaka - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/214/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 



//Snoopeh 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=112350"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Snoopeh - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/112350/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 

//Dedrayon 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=265558"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Dedrayon - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/265558/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 



//Malaco 
$xml = simplexml_load_file("http://api.own3d.tv/liveCheck.php?live_id=259259"); 
$resultlive = $xml->xpath("/own3dReply/liveEvent/isLive"); 
$resultviewers = $xml->xpath("/own3dReply/liveEvent/liveViewers"); 

if ($resultlive[0] == 'true'){ 
echo 'Malaco - Viewers: '; echo ($resultviewers[0]); echo ' - <a href="http://www.own3d.tv/live/259259/">Watch now!</a> <br>'; 
} 
else { 
echo ''; 
} 




?> 
</p> 
</body> 
</html> 
+0

看起来LiveCheck API非常慢。您可能想要使用AJAX加载查看器计数编号。这样你就可以立即填写静态信息。如果你在你的文件的头部安装了jQuery,一个简单的脚本标签将包含以下内容。我会在下面的答案中添加一个片段。 – 2012-04-05 23:29:05

+0

谢谢你的回复。我试过了这个代码,但它被卡在“Loading ...”中。它不会显示观看者。 – user1316468 2012-04-06 00:34:21

回答

0

尝试建立在你的侧边栏一个简单的文本组件粘贴到内容这一点。只要确保您的主题已安装jQuery:

Froggen - Viewers: <a class="live-viewers" href="http://www.own3d.tv/live/112348/">Loading...</a> 

<script type='text/javascript'> 
$(document).ready(function() { 
    $.get("http://api.own3d.tv/liveCheck.php?live_id=112348", function (res) { 
    var xml = $.parseXML(res); 
    $('.live-viewers').text(res.own3dReply.liveEvent.liveViewers[0]; 
}); 
</script> 
+0

谢谢你的回复。我试过了这个代码,但它被卡在“Loading ...”中。它不会显示观众 – user1316468 2012-04-06 01:08:56

0

您应该缓存这些simplexml_load_file()调用的结果。第一次调用将花费正常的时间,但随后的调用将加载缓存的数据并执行得非常快。

+0

我很抱歉问这个问题,但我该怎么做?正如我所说,我不知道任何关于PHP。对不起,请帮助我 – user1316468 2012-04-06 01:54:55