2010-03-05 47 views
0

嘿,夥計們,我開發了一個小型網站,我想嵌入Facebook頁面上的標籤。頁面畫布上的Facebook IFrame?

以前我用這個代碼的iframe中加載,這真是棒極了:

 <a onClick="outside_location.setInnerFBML(link_1);" style="cursor: pointer;">Link 1</a> | <a class="red" onClick="outside_location.setInnerFBML(link_2);" style="cursor: pointer;">Link 2</a> 

    <div id="outside_location"></div> 
    <fb:js-string var="link_1"><fb:iframe width="760" height="1280" frameborder='0' src='http://www.WebWhispers.in' /></fb:js-string> 
    <fb:js-string var="link_2"><fb:iframe width="760" height="1280" frameborder='0' src='http://google.com/' /></fb:js-string> 

    <script type="text/javascript" charset="utf-8"> 
    var outside_location = d 

document.getElementById('outside_location'); 
</script> 

然而,它已停止工作。我不認爲Facebook允許iframe內頁,只有應用程序。

我怎樣才能在加載這個頁面,而無需學習FBML?該網站使用JQuery,所以我無法使用FBML。

我知道應用程序可以使用iframe,我可以把它的應用程序,然後嵌入應用到網頁標籤不知何故?

回答

1

編號標籤頁不能包含iFrames。它們必須使用FBML和FBJS編寫。此

一個原因是,Facebook並不希望啓用Tab頁檢測誰在他們看。由於這個原因,標籤頁上的所有請求(包括圖像)都是通過Facebook代理的。如果iframe被允許,那麼應用程序將能夠檢測誰在看它,這會給Facebook用戶帶來隱私問題。

+0

Hm沒關係。那麼應用程序如何擺脫它呢? – wesbos 2010-03-05 04:25:40

+0

他們沒有。沒有標籤頁可以包含iframe。 如果您對標籤頁上的動態內容感興趣,您可以使用FBJS(沙盒版的JavaScript特殊版本)或使用Flash。如果您使用Flash,用戶將首先必須點擊Flash應用程序才能與之交互(出於前面提到的相同隱私原因)。 – Gdeglin 2010-03-05 05:00:24

+0

啊,我明白了。沒有這些人用什麼途徑: http://www.facebook.com/CarrotCreative#!/CarrotCreative?v=app_176990672178 – wesbos 2010-03-05 05:23:42

0

這是無論是Facebook或者,更可能的是,一個錯誤的策略變化。我說這不太可能是一個政策改變,因爲它引發了一個腳本錯誤,而一個策略更改將更有可能在代碼呈現之前剝離代碼。

a bug report you can add votes to and follow here

+0

該錯誤與此無關。 這不是一個錯誤。關於fb:iframe的文檔特別說明它不能在頁面上使用。 http://wiki.developers.facebook.com/index.php/Fb:iframe 「您無法在配置文件頁面(即應用程序選項卡和配置文件框)上使用標記」 – Gdeglin 2010-03-05 22:48:12

+0

該錯誤與並且昨天由Facebook平臺團隊證實了這一點:http://forum.developers.facebook.com/viewtopic.php?pid=209031#p209031。 Wes發佈的腳本是一個非常有名的解決方法,即使用FBJS加載fb:iframe。由於加載需要由用戶操作(例如點擊)觸發,這意味着它不能用於用戶跟蹤。 – 2010-03-06 10:05:19