0

我正在制作一个应用程序来为你的 facebook 图片添加一些效果,但我不知道是什么让它这么慢,你可以在这里查看应用程序:(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>
4

1 回答 1

1

foreach您的应用程序运行缓慢,因为您正在循环中进行 api 调用。每次您拨打电话时,您的服务器都会向 Facebook 发送一个请求并暂停执行,直到收到响应为止。

您应该使用batch.request语法或FQL一次返回所有照片,然后在脚本中处理这个大响应。

于 2012-07-03T02:40:55.233 回答