Facebook引用应用程序错误

时间:2010-04-12 17:37:54

标签: facebook fbml fbjs

如何编写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>

1 个答案:

答案 0 :(得分:1)

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

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

你提到你使用的是JQuery,但你并没有真正说明是什么。如果您担心AJAX功能,FBJS provides that。如果你想要花哨的效果,那么你可能会失去运气,因为FBJS可能非常有限。

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