1

如何编写 Facebook 报价应用程序,从 PHP/MySQL 页面获取数据,随机生成报价?我已经开发了一个,但它使用的是 FBML 不支持的 jQuery,因为我想要配置文件选项卡,所以我宁愿选择 FBML 而不是 iframe。

如何在没有 jQuery 或使用 FBJS 的情况下做到这一点?

<!DOCTYPE html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <link rel="stylesheet" type="text/css" href="css/jquote.css" />

        <!--<script type="text/javascript" src="scripts/jquery-1.4.2.js"></script>-->

        <script type="text/javascript" src="fbjqry/utility.js"></script>
        <script type="text/javascript" src="fbjqry/fjqry.js"></script>
        <script type="text/javascript">
            // On page load, fill the box with content.
            $(document).ready(function() {
                $("#quoteContainer").load("quote.php");
            });

            var auto_refresh = setInterval(
            function ()
            {
                $('#quoteContainer').load('quote.php');
            }, 5000); // refresh every 10000 milliseconds
        </script>

    </head>

    <div id="wrapper">
        <div class="header">&nbsp;Quote of the Day</div>
        <div id="quoteContainer">
        </div>
    </div>
</html>
4

1 回答 1

1

这是一个相当广泛的问题,但基本上你有两种选择 Facebook。您可以制作一个 FBML 应用程序,并将您的客户端脚本限制为 FBJS,或者您可以制作一个 iframe 应用程序,并使用您想要的任何 Javascript 库。

中间解决方案是使用<fb:iframe>标签将 iframe 放入您的 FBML 页面中。iframe 将允许您使用完整的 Javascript,但当然您不能使用 iframe 内部的代码修改 iframe 之外的任何内容。它可以是一个很好的工具,你只需要正确设计你的 UI。

您提到您使用 JQuery,但您并没有真正说出原因。如果您担心 AJAX 功能,FBJS 提供了. 如果您想要花哨的效果,那么您可能会不走运,因为 FBJS 可能会受到很大限制。

要记住的另一件事是配置文件选项卡有自己的 URL,因此它们可以指向与主应用程序完全不同的代码。例如,如果您的主应用程序是从http://yourapp.com提供的,那么在开发人员设置中,您可以将 Profile Tab 设置为http://yourapp.com/profiletab。您没有理由不能将 iframe 应用程序作为主应用程序,只需为 Profile Tab 编写一些 FBML 输出。

于 2010-04-12T18:01:44.420 回答