慢速页面加载在WordPress的侧边栏
所以基本上,我不知道有关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>
尝试建立在你的侧边栏一个简单的文本组件粘贴到内容这一点。只要确保您的主题已安装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>
谢谢你的回复。我试过了这个代码,但它被卡在“Loading ...”中。它不会显示观众 – user1316468 2012-04-06 01:08:56
您应该缓存这些simplexml_load_file()调用的结果。第一次调用将花费正常的时间,但随后的调用将加载缓存的数据并执行得非常快。
我很抱歉问这个问题,但我该怎么做?正如我所说,我不知道任何关于PHP。对不起,请帮助我 – user1316468 2012-04-06 01:54:55
看起来LiveCheck API非常慢。您可能想要使用AJAX加载查看器计数编号。这样你就可以立即填写静态信息。如果你在你的文件的头部安装了jQuery,一个简单的脚本标签将包含以下内容。我会在下面的答案中添加一个片段。 – 2012-04-05 23:29:05
谢谢你的回复。我试过了这个代码,但它被卡在“Loading ...”中。它不会显示观看者。 – user1316468 2012-04-06 00:34:21