如何为FacebookIframe应用程序创建一个可以通过编程关闭的对话框?

如何为FacebookIframe应用程序创建一个可以通过编程关闭的对话框?,facebook,Facebook,我正在尝试为我的Facebook IFRAME应用程序创建一个对话框,然后可以通过Javascript以编程方式关闭该对话框。我无法通过jQuery之类的Javascript库创建对话框,因为我需要在对话框中嵌入特定的FBML标记 方法1:通过当前的Javascript SDK。除了单击X按钮,我没有任何方法关闭它 方法2:通过XFBML和大量的div和css来模拟FB对话框。然而,我似乎无法在serverfbml标记中添加Javascript,这意味着无法通过编程方式显示或隐藏它 <fb

我正在尝试为我的Facebook IFRAME应用程序创建一个对话框,然后可以通过Javascript以编程方式关闭该对话框。我无法通过jQuery之类的Javascript库创建对话框,因为我需要在对话框中嵌入特定的FBML标记

方法1:通过当前的Javascript SDK。除了单击X按钮,我没有任何方法关闭它

方法2:通过XFBML和大量的div和css来模拟FB对话框。然而,我似乎无法在serverfbml标记中添加Javascript,这意味着无法通过编程方式显示或隐藏它

<fb:serverfbml>
   <script type="text/fbml">
      <fbml>
      <div> .... </div>
      </fbml>
   </script>
</fb:serverfbml>

有什么方法可以创建这样的对话框吗?

创建一个包含FBML的标准对话框。打开对话框时调用xfml.Parse,它应该可以正常工作。如果您需要一个合理的对话框jQuery控件,Boxy非常好。

创建一个包含FBML的标准对话框。打开对话框时调用xfml.Parse,它应该可以正常工作。如果您需要一个合理的对话框jQuery控件,Boxy非常好。

为什么您需要serverfbml中的js?serverfbml被解析并显示在它自己的iframe中。JS在iframe中的元素上不起作用。但是你只是想把它全部隐藏起来吗?为什么不隐藏serverfbml的父元素呢?我需要在对话框中实现一个取消按钮,通过将父div的样式设置为display:none来关闭对话框本身。该按钮无法调用生成的FBML之外的JS函数,因为FB会处理serverfbml中的HTML元素,并且它们的ID和函数调用都会在FB应用程序ID前面。我没有想到您建议直接操作父元素,我会试试的。为什么在serverfbml中需要js?serverfbml被解析并显示在它自己的iframe中。JS在iframe中的元素上不起作用。但是你只是想把它全部隐藏起来吗?为什么不隐藏serverfbml的父元素呢?我需要在对话框中实现一个取消按钮,通过将父div的样式设置为display:none来关闭对话框本身。该按钮无法调用生成的FBML之外的JS函数,因为FB会处理serverfbml中的HTML元素,并且它们的ID和函数调用会在FB应用程序ID前面。我没有想到您建议直接操作父元素,我会尝试一下。
<fb:serverfbml>
   <script type="text/fbml">
      <fbml>
      <div> .... </div>
      </fbml>
   </script>
</fb:serverfbml>