2011-02-04 48 views
1

我正在尋找一種解決方法,該方法允許我從默認情況下獲得白色背景的fbml iframe中的body標記中移除背景。在fbml iframe中設置透明的背景身體

我嘗試了不同的訪問fbml iframe的方法,但不幸的是,facebook拒絕任何將某些東西放入框架的嘗試。

的錯誤在這裏報道,但數量不多一直朝着它周圍:http://bugs.developers.facebook.net/show_bug.cgi?id=12621

任何聰明/討厭的方式來解決這一問題?

回答

1

除非您的網站在facebook.com上運行,否則您無法訪問iframe(請參閱same origin policy)中的任何內容。

如果Facebook不給你一個選項來改變它,那麼你不能。

0

對於我在項目中使用的Facebook小部件之一(背景是透明的,我需要彩色的),我遇到了相反的問題。我所做的就是已經小部件包裹在一個div容器,我歸入「facebook_badge」,然後訪問它,並通過CSS的iframe,像這樣:

.facebook_badge iframe { 
    background: #fff; 
} 

從它的聲音,他們不是真正的一致與他們的小工具和什麼,但它可能是值得嘗試和玩弄(理論上,你可以訪問身體與iframe body,但我沒有測試過)。您可能至少可以通過iframe本身將其轉換爲與背景相匹配的純色。

+0

FBML服務器標籤掃描您的代碼,並會拋出任何未經授權的腳本 - 即使是簡單的警報(); – easwee 2011-02-07 15:28:22

+0

這不是一個腳本。你把CSS放在你自己的CSS文件中。我已經在這裏使用了小部件:http://www.rockshortvine.com/。就像我說的,他們似乎不符合他們的小工具,以及你能做什麼,不能做什麼,所以我只能告訴你我用我用過的小工具所做的事情。 – Shauna 2011-02-07 16:26:21

+0

對不起,錯誤的回覆。無論如何,你沒有機會覆蓋iframe內部的CSS,所以像這樣的選擇器不起作用。 – easwee 2011-02-10 15:13:41

0

作爲默認的Facebook小部件的內置透明度?

因此,ARIA屬性:ALLOWTRANSPARENCY =「真」,

我有我的網站上可以正常使用類似的按鈕 - 它不驗證,但驗證just a tool

你也可以使用方FB樣箱:

<iframe src="http://www.facebook.com/plugins/like.php?href=http://mutant-tractor.com/&amp;layout=box_count&amp;show_faces=false&amp;width=65&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=65" scrolling="no" frameborder="0" style="border:none;overflow:hidden;width:55px;height:60px;" allowtransparency="true"></iframe> 

FBML Like按鈕: http://www.shinyface.com/2010/08/16/adding-facebook-like-buttons-to-your-website/

1

您可以通過使用

colorscheme=transparent 

反而讓在iframe透明背景darklight :)