1

プロフィール画像の表がある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 をレンダリングするダイアログを取得するにはどうすればよいですか?

4

1 に答える 1

0

Facebook開発者ページには、「タイトルとコンテンツは、文字列または事前にレンダリングされたFBMLブロックのいずれかです」と記載されています。「事前レンダリング」の意味がよくわかりません。それはかもしれません<fb:js-string>。残念ながら、Facebookのバグが原因でfb:js-stringは静的なFBMLページでは機能しません(私は思います)。

于 2010-09-23T10:01:32.397 に答える