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 に答える