2010-08-18 91 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