1

我正在一个 facebook 页面上工作,其中有一张个人资料图片表。Onclick 对于这些图像中的每一个,我使用 Facebook 对话框在弹出窗口中显示名称、图片和描述。

名称存储在<img> name属性中。描述存储在<img> title属性中。img src 存储在<img> src属性中。

所以在点击时,所有这些数据都是从被点击的图像中收集的,应该在对话框中吐出。

问题是我无法让对话框呈现 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

如何让对话框呈现 FBML 而不仅仅是纯文本?

4

1 回答 1

0

Facebook 开发者页面说“标题和内容可以是字符串或预渲染的 FBML 块”。我不太确定“预渲染”是什么意思。它可能是一个<fb:js-string>. 不幸的是,由于 Facebook 错误(我认为), fb:js-string 在静态 FBML 页面中不起作用。

于 2010-09-23T10:01:32.397 回答