Php Facebook炸毁了我的网页

Php Facebook炸毁了我的网页,php,jquery,facebook,facebook-fbml,Php,Jquery,Facebook,Facebook Fbml,我有一个网站,集成了一个粉丝箱和facebook上的一些其他东西。为了使一切看起来正常,我实现了FBML,如下所示: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en"> 它实际上工作得很好,只是我发现我客户的公司对员工有一个障碍,所以他们不能访问Facebook。但是,这会导致站点爆炸,无法完全加载,因为防

我有一个网站,集成了一个粉丝箱和facebook上的一些其他东西。为了使一切看起来正常,我实现了FBML,如下所示:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">

它实际上工作得很好,只是我发现我客户的公司对员工有一个障碍,所以他们不能访问Facebook。但是,这会导致站点爆炸,无法完全加载,因为防火墙不允许此站点上的FB代码正确启动

由于我没有这个块,我远程复制它时遇到了问题,并且无法准确指出它正在做什么,从而导致它显示不正确

简言之,我是否可以在代码中实现一些东西来检查和查看FB是否可访问,并且只有在fbml可访问时才触发fbml?我主要为这个网站使用PHP和Jquery

提前谢谢

编辑:根据请求编辑代码片段

从一开始:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">

然后在调用风扇盒的页面中:

<div id="fbbox">
    <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
        <div id="fb-root">
            <fb:fan profile_id="xxxxxxxx" width="235" height="200"  connections="12" stream="false" header="false" css="http://www.xxxx.com/xxxx.css?33" ></fb:fan>
        </div>
    <script>
    <!--
        window.fbAsyncInit = function() {
            FB.init({appId: 'xxxxxxx', status: true, cookie: false, xfbml: true});
        };
        (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>      


我已经给出了一些特定的设置,但我可以向您保证,这些设置在实际代码中是正确的。

取决于网站被阻止的方式。 您可以从facebook加载一个小图像,然后在javascript中检查尺寸。所以你看看他们是否正确。 为此,我建议您使用从api文档中获得的个人资料图片的永久url,因为它不会改变,并且始终提供相同大小的图像(根据文档)

例:

您还可以使用facebook跨站点脚本Receiver

另一种可能是在iframe中加载来自facebook的内容。location属性(作为唯一属性)将可供站点读取。您可以使用将被重定向的url(例如配置文件图片url)

然而,这是为了回答你的问题,但我认为这不是一个解决办法。如果某些资源被阻止,你的站点不应该“不加载”

你的html属性不能导致这样的结果,所以你把其他东西搞糟了


能否提供更多代码或实现链接?

如果facebook.com被用户屏蔽,社交插件无法加载,因此不会在您的网站上呈现。您应该检查插件是否已加载,以及它们是否未替换内容,使您的站点在没有插件的情况下继续运行。

这个问题相当模糊。您不知道页面的哪个部分以何种方式被阻止,那么为什么其他人要阻止?;-)难道你不能走到/远程进入你的客户端并从那里调试问题吗?你能得到一个屏幕截图吗?我想看看这个问题。我会看看我能为截图做些什么-我依赖于客户端,因为我是远程的。不过可能需要一段时间。我意识到这是一个模糊的问题,抱歉-我自己定义得太好了。+1对于这个问题的标题,感谢上帝,我没有访问你的网页。谢谢-这些都是非常有用的信息!我还没有玩过跨站点接收器,所以我也会看看。我会发布一些代码给你看。谢谢你为什么不试着自己屏蔽facebook呢?然后你可以测试它大多数过滤器只是通过阻止ip地址工作。遗憾的是,我不知道怎么做。我会看一看,看看是否能为测试目的找到答案。