从prettyPhoto iframe刷新父页面

时间:2012-09-27 21:46:35

标签: iframe prettyphoto

我有一个调用iframe模态窗口的父页面,如下所示:

<script type="text/javascript" charset="utf-8">
                            $(document).ready(function(){
                                $("a[rel^='prettyPhoto']").prettyPhoto();
                            });

</script>

当iframe关闭时,我想要刷新父页面。

我需要将哪些代码添加到iframe中?我是否需要首先在父页面上创建回调函数?

3 个答案:

答案 0 :(得分:2)

我是通过回调做到的:

<script type="text/javascript" charset="utf-8">
  $(document).ready(function(){
    $("a[rel^='prettyPhoto']").prettyPhoto(
    {
     modal: true, /*So it can be closed only with the button*/
     callback: function(){
       document.location.reload(true);
    }                       
   })
});
</script>

答案 1 :(得分:1)

如果仔细观察源代码,prettyphoto会将iframe包装在包含所有按钮的div中。 iframed唯一的部分是实际内容。关闭按钮包含在父页面中。您需要为.pp_close点击事件添加事件处理程序。

<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
  $("a[rel^='prettyPhoto']").prettyPhoto();
  $(".pp_close").click(function () {
    document.location.reload(true);
  });
});
</script>

答案 2 :(得分:1)

<script>
    $(document).ready(function(){
        window.parent.refreshPage();
        window.parent.$.prettyPhoto.close();
    });
</script>

您打开iframe的页面上有

window.refreshPage = function(){
    setTimeout(function() {
        window.location.reload();
    }, 500);
};