嵌入式Facebook Like-Box不会让我风格化。为什么?

时间:2011-05-20 20:53:14

标签: css facebook embed embedding

我正在尝试在我的网站上的页面上放置一个Facebook Like-Box,然后通过我自己的CSS设置样式(主要是为了增加div#stream_content的高度。(想法是让FB feed行为作为新闻提要,但我不希望用户必须滚动以查看前两个项目,或者默认情况下这样做。)

我已阅读并试验过这些文章中的建议以及更多内容: http://stackoverflow.com/questions/4064038/customizing-facebook-like-box
http://www.daddydesign.com/wordpress/how-to-customize-your-facebook-fan-box/
http://hitech-tips.blogspot.com/2010/05/facebook-like-button-xfbml-tutorial.html

我要使用FBML路由(而不是使用iframe),因为我需要收集跨域样式表。我还收集到我的网页需要这个doctype声明:
<!doctype html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en">

那么我在页面正文中有这个:

    <div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
    <fb:like-box
            profile_id="***my ID here***" 
            width="450"
            height="600"
            colorscheme="dark"
            show_faces="false"
            stream="true"
            header="false"
            logobar="0"
            css="http://***my domain here***/css/FBstyles.css?1"
            href="http://www.facebook.com/***my page name here***"
    ></fb:like-box>

但我仍然会遇到这些错误: “(4)不安全的JavaScript尝试使用URL {(我的网页)...从具有URL http://www.facebook.com/plugins/likebox.php?channel=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fversion%3D2%23cb%3Dfd907a0e%26origin...blahblahblah的框架访问框架。域,协议和端口必须匹配。”

我搞砸了哪里?

1 个答案:

答案 0 :(得分:3)

我也走了这条路。虽然您使用的是FBML,但实际的嵌入式代码最终仍然是iframe。 (您可以在加载后使用HTML检查器在DOM中看到它)。关于我唯一能做的就是将它放在一个带有彩色背景的div中,因为iframe是透明的,还有一个边框。

由于Facebook服务器上的javascript正试图访问您服务器上的CSS,因此您可能会收到错误。我认为你不能这样做。

修改

在您提供的StackOverflow链接中,发布的答案清楚地表明使用您自己的CSS仅适用于“粉丝”框,而不是“喜欢”框。