TH1*_*981 5 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">
Run Code Online (Sandbox Code Playgroud)
它确实工作得很好,除了我发现我的客户的公司在员工上有一个块,所以他们无法访问Facebook.但是这会导致站点爆炸而不能完全加载,因为防火墙不允许此站点上的FB代码正确启动.
由于我没有这个块,我无法远程复制它,并且无法准确指出它正在做什么导致它显示不正确.
简而言之,我可以在代码中实现一些检查并查看FB是否可访问的内容,如果是,则只触发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">
Run Code Online (Sandbox Code Playgroud)
然后在调用fanbox的页面中:
<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>
Run Code Online (Sandbox Code Playgroud)
我已经xxx了一些特定的设置,但我可以向你保证这些在实际代码中是正确的.
取决于网站被阻止的方式。你可以从 facebook 加载一个小图像,然后检查 javascript 中的尺寸。所以你看看它们是否正确。为此,我建议使用从 api 文档获取的个人资料图片的永久 url,因为它不会更改,并且始终提供相同大小的图像(根据文档)。
例如: http: //graph.facebook.com/joseph.hopfgartner/picture
您还可以使用 Facebook 跨站点脚本接收器。
另一种可能性是在 iframe 中加载来自 facebook 的内容。location 属性将(作为唯一的属性)被您的站点读取。您可以使用将被重定向的 url(例如个人资料图片 url)。
然而这是为了回答你的问题,但我认为这不是一个解决方案。如果某些资源被阻止,您的网站确实不应该“无法加载”!
你的 html 属性不会导致这种情况,所以你搞乱了其他东西
您能否提供更多代码或有关您的实现的链接?
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |