parent.parent.window.location.href不起作用

时间:2013-07-04 12:14:57

标签: javascript jquery fancybox

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

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

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

请帮忙。

1 个答案:

答案 0 :(得分:0)

好吧,如果您只是在关闭fancybox后尝试重新加载窗口,那么只需从打开的页面中关闭fancybox(就像你这样做),如

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

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

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

另一方面,如果您不只是尝试重新加载页面,而是实际尝试重定向到另一个页面,那么如果您使用的是相对路径,请使用window.location.pathnamewindow.location.href获取完整路径。

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

注意afterClose适用于fancybox v2.x,对于fancybox v1.3.4,请改用onClosed