0

我有一个 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>
4

1 回答 1

7

不要尝试从子页面进行重定向,而是从父页面本身进行重定向。

如果您的父页面 (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();从子页面执行

于 2012-12-13T03:41:35.197 回答