【问题标题】:Refresh parent page from prettyPhoto iframe从 prettyPhoto iframe 刷新父页面
【发布时间】:2012-09-27 21:46:35
【问题描述】:

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

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

</script>

当 iframe 关闭时,我希望父页面刷新。

我需要向 iframe 添加什么代码?需要先在父页面创建回调函数吗?

【问题讨论】:

    标签: iframe prettyphoto


    【解决方案1】:

    我是通过回调实现的:

    <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>
    

    【讨论】:

      【解决方案2】:

      如果您仔细查看源代码,prettyphoto 会将 iframe 包装在包含所有按钮的 div 中。 iframe 的唯一部分是实际内容。关闭按钮包含在父页面中。您需要将事件处理程序添加到.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>
      

      【讨论】:

      • 我现在可以看到,但我一定做错了什么,我添加了: 到父页面,它似乎不起作用。
      • 你仍然需要将它放在 document.ready() 中。我会更新我的答案...
      • 嗨 Juventus18,当我尝试它实际上关闭然后刷新但再次显示对话窗口时。我设法做的是编辑 jquery.prettyPhoto.js 编辑行: $('a.pp_close').bind('click',function(){$.prettyPhoto.close();clearHashtag();document.location .reload(true);return true;})。似乎有效,不确定它在语义上是否正确,但现在可以。
      【解决方案3】:
      <script>
          $(document).ready(function(){
              window.parent.refreshPage();
              window.parent.$.prettyPhoto.close();
          });
      </script>
      

      在你打开 iframe 的页面上有这个

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-28
        • 2013-03-20
        • 1970-01-01
        • 2011-11-15
        • 1970-01-01
        • 2011-09-03
        • 2015-03-11
        相关资源
        最近更新 更多