朋友問的問題,在 facebook App 中的 iframe 模式下如何秀出對話框 (dialog)?
(就是 facebook 樣式的那種藍標題對話框。)

分為兩種模式,iframe 與 fbml。

fbml 比較簡單,可以直接參考下面這個文件:
http://developers.facebook.com/docs/reference/fbml/dialog

如製作一個有 yes/no 的對話框,按下不同按鈕會到不同的網址:

<fb:dialog id="my_dialog" cancel_button=1>  
<fb:dialog-title>My Little Dialog</fb:dialog-title>  
<fb:dialog-content><form id="my_form">Do you like my little dialog?</form></fb:dialog-content>  
<fb:dialog-button type="button" value="Yes" href="http://some_url.com/awesome.php" />  
<fb:dialog-button type="button" value="No" href="http://some_url.com/lame.php" />  
</fb:dialog>

Would you like to see a <a href="#" clicktoshowdialog="my_dialog">dialog?</a>

如果要塞 like button 也可以,把dialog-content的內容加上:

<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.facebook.com/粉絲團" width="300" height="100"></iframe>

就可以..自己美化一下囉。

至於 iframe 的要用 js 輔助一下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
</head>

<body>  
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/zh_TW" type="text/javascript"></script>

<input type="button" value="click me" onclick=" return showBox()">  
<script language="javascript">  
function showBox()  
{  
var dialog = new FB.UI.FBMLPopupDialog(‘對話框標題’, ”);  
var fbml = ‘FBML..請自由發揮 :p’;  
dialog.setFBMLContent(fbml);  
dialog.setContentWidth(720);  
dialog.setContentHeight(400);  
dialog.show();  
}  
</script>

<script type="text/javascript">  
FB_RequireFeatures(\["XFBML"\], function(){  
FB.Facebook.init("\*app id\*", "xd_receiver.htm");  
});  
</script>

但似乎 XFBML 會擋 fb:iframe ,因此尚未找出在這種方法中塞 like button 的方法,有研究出來的前輩路過請指點一下囉:)