4

我遇到了一个奇怪的问题。我在我的项目中使用fancybox,在单击fancybox 的链接后,我将其关闭并尝试重新加载父窗口。我正在使用此代码。

<script>
    parent.$.fancybox.close();  
    parent.parent.window.location.href = '<?php echo base_url();?>home/job_posting/<?php echo $id ;?>';
</script>

它在本地工作,但是当试图在实时服务器中运行它时它不起作用。我正在使用 codeigniter 框架并在我的控制器方法中执行此操作。

请帮忙。

4

1 回答 1

0

好吧,如果您只是想在关闭fancybox 后重新加载窗口,那么只需从打开的页面中关闭fancybox(您的操作方式)就像

<script>
    parent.$.fancybox.close();
</script>

...并从自身重新加载afterClose页面,将回调添加到您的fancybox自定义脚本中

$(".fancybox").fancybox({
    // other API options here
    afterClose : function() {
        location.reload();
        return;
    }
});

另一方面,如果您不仅尝试重新加载页面,而且实际上尝试重定向到另一个页面,那么window.location.pathname在使用相对路径或window.location.href完整路径时使用。

您可能还想尝试一下self.location.href

注意afterClose适用于 fancybox v2.x,onClosed而适用于 fancybox v1.3.4。

于 2013-07-04T16:05:14.323 回答