我正在制作一个应用程序,为你的脸书图片添加一些效果,但我不知道是什么让它太慢,你可以在这里检查应用程序:(https://apps.facebook.com/filter_box/)当你点击“usar una foto”时,需要花费大量时间来加载所有图像,我不知道它是CSS动画,fb查询,我的网络服务器还是别的什么,所以我想知道是否有人可以帮助我如何调试它,看看是什么让它加载这么慢,非常感谢你们提前!
这里的PPD是在usar.php或“usar una foto”中使用它的代码
<?php
include_once("config.php");
?>
<!DOCTYPE html>
<html lang="es" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta charset=utf-8>
<title>Minstagram</title>
<link rel="stylesheet" href="style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '<?php echo $facebook->getAppID() ?>',
cookie: true,
xfbml: true,
oauth: true
});
FB.Canvas.setAutoResize();
FB.Canvas.scrollTo(0,0);
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
<div id="main">
<?php
include_once("menu.php");
$albums = $facebook->api('/me/albums?limit=0');
?>
<ul id="breadcrumbs-two">
<li><a href="/">Inicio</a></li>
<li><a href="usar.php">Álbumes</a></li>
</ul>
<ul class="polaroids" >
<li> <a href="album.php " title="Todas tus fotos"><img src="" alt="" /> </a> </li>
<?php
foreach($albums['data'] as $album)
{
// get all photos for album
$photos = $facebook->api("/{$album['id']}/?fields=picture,name,count");
$foto = $photos['picture'];
$nombre = $photos['name'];
$id = $photos['id'];
$count = $photos['count'];
$nombre = $nombre." (".$count.")";
echo "<li> <a href=\"album.php?numero_album=$id&nombre_album=$nombre \" title=\"$nombre\"><img src=\"$foto\" alt=\"$nombre\" /> </a> </li>";
}
echo "</ul>";
?>
</div>
</body>
</html>
答案 0 :(得分:1)
您的应用程序运行缓慢,因为您正在foreach
循环内进行api调用。每次拨打电话时,服务器都会向Facebook发送请求并暂停执行,直到获得响应。
您应该使用batch.request语法或FQL一次性返回所有照片,然后在您的脚本中处理此大回复。