Facebook页面加载的最佳方式?

时间:2010-08-15 05:51:07

标签: facebook

我正在运行Facebook Connect网站,我使用Connect进行身份验证。我检查用户是否通过Facebook在每个页面上连接,以便我们可以在注册时快速验证它们。

我认为我目前这样做的方式可能不好,因为每当从facebook连接的用户加载页面时“打嗝”。也就是说,页面元素是可见的重新渲染,用户的Facebook个人资料照片在加载之前闪烁了一点。我很确定有更好的方法,因为我看过没有这些“打嗝”的Facebook Connect身份验证。这是我的工作和非常基本的代码:

<body onload="fbConnect();">    
        <!-- page contents -->
        <script type="text/javascript">      
            function fbConnect() 
            {
                FB.init([MYAPPKEY], "xd_receiver.htm",{"reloadIfSessionStateChanged":true});
            }
        </script>
    </body>
</html>

如果他们是Facebook已连接,我会利用该重新加载来验证网站上的用户。那么有没有办法改进我的方法并消除打嗝?

1 个答案:

答案 0 :(得分:3)

如果您的页面内容在很大程度上取决于用户是否已登录,即您只想在角落中显示用户个人资料,则无需重新加载该页面。您可以通过ajax调用通知服务器有关用户登录的信息,并通过javascript呈现用户配置文件。

如果记录的用户看到与来宾完全不同的页面,那么您可以将facebook登录完全移至服务器端,并在显示页面之前检查用户是否已登录。

这将消除额外的页面重新加载。如果你想更进一步,在检查用户是否登录时最小化延迟(在facebook方面可能需要几秒钟),那么一旦他们第一次登录并读取用户,你就会在会话cookie中缓存用户信息从那里(在服务器端或通过js)的信息,而不是在每个页面加载时向Facebook发出请求。