关闭Fancybox 2窗口并重定向父窗口

时间:2012-12-12 18:55:13

标签: jquery fancybox

我有一个Fancybox 2 iframe模态窗口,其中包含一个“添加到购物车”表单。提交表单后,将在Fancybox模式窗口中加载成功/确认页面。

我想在此成功/确认页面上运行一个脚本,关闭Fancybox窗口并将父窗口重定向到此URL:'/ shop / basket'我该怎么做?

这是我目前获得的代码(仅关闭Fancybox窗口,但不执行父窗口重定向):

<script type="text/javascript">
  $(function() { parent.$.fancybox.close(); });
</script>

编辑:

这是我在functions.js文件中初始化Fancybox的方法:

$(".add-to-cart-popup").fancybox({
    width       : 580,
    height      : 744,
    closeClick  : false,
    scrolling   : 'auto'
});

编辑2:

这段代码完成了我正在寻找的东西 - 但任何人都可以想到更好的方法吗?这只是我一起入侵的事情:

<script type="text/javascript">
  $(function() { parent.$.fancybox.close(); });
  window.parent.location.href = '/shop/basket';
</script>

1 个答案:

答案 0 :(得分:7)

不要尝试从子页面重定向,而是从父页面本身。“/ p>

如果您的父页面中有此代码(functions.js):

$(".add-to-cart-popup").fancybox({
    width       : 580,
    height      : 744,
    closeClick  : false,
    scrolling   : 'auto'
});

然后只需添加afterClose回调就像;

$(".add-to-cart-popup").fancybox({
    width       : 580,
    height      : 744,
    closeClick  : false,
    scrolling   : 'auto',
    afterClose  : function() {
       location.href = "/shop/basket";
    }
});

...您仍然需要从子页面执行parent.$.fancybox.close();