Facebook评论插件

时间:2011-03-14 23:04:56

标签: jquery css asp.net-mvc facebook asp.net-mvc-3

我正在使用Facebook XML在我的MVC 3应用中加载facebook评论插件,如下所示:

<fb:comments href="@Request.Url.AbsoluteUri" num_posts="15" width="900"></fb:comments>

问题是width属性仅以像素值呈现。我想指定一个百分比宽度。我检查了facebook的javascript将xml标记呈现为完全限定的HTML时生成的HTML。它使用内联css指定宽度来吐出iframe。 iframe有一个类“fb_ltr”,我尝试为.fb_ltr做一个CSS规则来改变宽度,但是因为css是inline作为style =“”属性,所以这个规则被覆盖了。

然后我尝试使用JQuery:

$(function()
{
    $('.fb_ltr').css('width', '100%');
});

但这不起作用,因为facebook javascript需要一段时间来完成它的工作并呈现内容。以前有没有人使用facebook插件?定制似乎有点令人费解。任何人都知道在facebook脚本呈现评论iframe之后是否有办法绑定一些jquery?

感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

如果你能通过css做到这一点为什么不这样做?只需添加!important,它将覆盖所有内容。但我怀疑你可以通过CSS来做到这一点。示例css:

width: 100% !important;

答案 1 :(得分:1)

尝试将load事件附加到Facebook框架:

$("#comments").load( function() {
    $('.fb_ltr').css('width', '100%');
});

答案 2 :(得分:1)

我改变了这个:

<fb:comments href="http://whatever.com" 
num_posts="10" width="500"></fb:comments>

到此:

<fb:comments href="http://whatever.com" 
num_posts="10" width="100%" style="width:100%"></fb:comments>

并设置以下css:

iframe.fb_ltr { width:100% !important; }

有效......