プロフィール画像の表があるFacebookページに取り組んでいます。これらの各画像をクリックすると、Facebook ダイアログを使用して、ポップアップに名前、写真、説明を表示します。
名前は<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
プレーン テキストだけでなく、FBML をレンダリングするダイアログを取得するにはどうすればよいですか?