2011-03-14 185 views
2

我使用Facebook的XML在我的MVC 3應用程序加載的Facebook評論插件,這樣的:的Facebook評論插件

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

的問題是,寬度屬性只在像素值呈現出來。我想指定一個百分比寬度。我檢查了當Facebook的JavaScript將xml標記渲染爲完全限定的HTML時生成的HTML。它用一個內聯css指定寬度來吐出一個iframe。 iframe有一個「fb_ltr」類,我嘗試了爲.fb_ltr改變寬度的CSS規則,但是因爲CSS是inline作爲style =「」屬性,所以這個規則被覆蓋。

然後我使用JQuery嘗試:

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

但是這並沒有工作,要麼因爲JavaScript需要一段時間的Facebook上做的工作和呈現內容。有沒有人曾使用Facebook插件?定製似乎有些複雜。任何人都知道是否有一種方法可以在Facebook腳本呈現出評論iframe後綁定一些jquery?

任何幫助表示讚賞。

回答

3

如果你可以通過CSS來做到這一點,爲什麼不做呢?只需添加!重要,它將覆蓋所有內容。但我懷疑你可以通過CSS來做到這一點。實施例的CSS:

width: 100% !important; 
+0

我會盡力的。 – Chev 2011-03-14 23:09:32

+0

謝謝。我不知道CSS中的'!important'。你解決了我的問題。今晚晚些時候我會接受,這讓我等待... – Chev 2011-03-14 23:14:47

+0

這就是我曾經使用過的。它工作正常。 – 2011-05-08 15:13:35

1

嘗試load事件附着到facebook的幀:

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

我不知道我可以做到這一點!謝謝:) – Chev 2011-03-14 23:15:20

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; }

它的工作...

+0

我嘗試過'width =「100%」',並且什麼都沒做,和'style =「width:100%一樣;''。這是css規則'.fb_ltr {width:100%!important;這是它做到的。當JavaScript呈現內容時,FBXML元素上的內聯屬性和樣式不會呈現給包含的iFrame。但'重要'確實會覆蓋在渲染iFrame上設置的內聯樣式,因此我在2天前接受了這個答案。 – Chev 2011-03-17 13:55:26