2010-08-18 128 views
1

我正在Facebook頁面上有一張配置文件圖像表。點擊這些圖片中的每一個,我使用一個Facebook對話框在彈出窗口中顯示名稱,圖片和描述。在Facebook對話框中彈出FBML對話框

該名稱存儲在<img>name屬性中。 描述存儲在<img>title屬性中。 img src存儲在<img>src屬性中。

所以onclick,所有這些數據都是從點擊的圖像中收集的,應該在對話框中吐出。

問題是我無法獲得對話框來呈現FBML,它只是將它顯示爲純文本。

這裏的FBJS的一部分:

function showDialog(element) { 
    var img_src = element.getFirstChild().getSrc(); 
    var name = element.getFirstChild().getName(); 
    var desc = element.getFirstChild().getTitle(); 
    var msg = '<img src="' + img_src + '" width="160" alt="' + name + '"> ' + desc; 
    new Dialog().showMessage(name, msg); 
} 

和FBML其中函數被調用:

<a href="#" onclick="showDialog(this);"><img src="http://mydomain.com/path/to/my/image.jpg" border="0" name="myName" title="My Description" width="160"></a> 

例如,在這種情況下,對話框將顯示以下純文本,而比我試圖顯示的呈現的FBML:

<img src="http://mydomain.com/path/to/my/image.jpg" width="160" alt="myName"> My Description 

如何獲取對話框以呈現FBM L而不僅僅是純文本?

回答

0

Facebook開發者頁面顯示「標題和內容可以是字符串或預渲染的FBML塊」。我不確定「預渲染」是什麼意思。它可能是<fb:js-string>。不幸的是,由於Facebook bug(我認爲),fb:js-string在靜態FBML頁面中不起作用。

+0

也許Ajax.FBML類型的Ajax請求可以工作。您可以嘗試將響應插入到您的Dialog中。 – 2010-09-23 14:15:53