JQuery Colorbox作为加载屏幕 - 有时不会关闭

时间:2011-07-05 12:47:07

标签: javascript jquery colorbox

概述:我正在使用JQuery Colorbox在我的网站上处理订单时显示一个小的加载图标。对于一小部分用户来说,颜色框不会自行关闭而只会卡住。这是基本概念:

订单页面使用以下方法将链接加载到颜色框中:

$(document).ready(function () {
    $("[rel=cbox_order]").colorbox({
        initialWidth: "100",
        initialHeight: "100",
        innerWidth: "300",
        innerHeight: "100",
        iframe: true,
        opacity: 0.75,
        overlayClose: false,
        title: 'Your order is being processed, please wait...',
        onLoad: function () {
            $('body').css({
                overflow: 'hidden'
            });
            $('#cboxClose').remove();
            $('#cboxLoadedContent').css({
                'margin-bottom': '0px',
                'height': '100%'
            });
            $(document).unbind("keydown.cbox_close");
        },
        onComplete: function () {
            $('#cboxLoadingGraphic').show();
            $('#cboxLoadedContent').css({
                'margin-bottom': '0px',
                'height': '100%'
            });
        },
        onClosed: function () {
            $('body').css({
                overflow: 'auto'
            });
        }
    });

    $("[rel=cbox_order]").click(function () {
        $("#colorbox").attr("style", "padding-bottom: 42px; padding-right: 42px; display: inline; width: 600px; height: 468px; top: 456px; left: 602px;");
    });
});

<asp:HyperLink id="lnkConfirm" class="buttonlink" rel="cbox_order" NavigateURL="~/ProcessOrder/ProcessPayment.html" Text="CONFIRM ORDER" runat="server"  />

这基本上覆盖了许多位并且STOPS用户在处理订单时关闭窗口。然后,已加载到ColorBox中的页面处理订单并发送确认电子邮件,如下所示:

$(document).ready(function(){
    window.top.location.href = '<%=Session["ProcessOrder_Redirect"].ToString()%>';
    window.parent.$.fn.colorbox.close();
});

我们的想法是将父窗口重定向到订单确认页面,然后关闭该框(只是为了确认;这在95%的时间都有效)。

问题:这不会一直有效,我看不出原因。我可以确认Session中的值包含有效的URL。我在colorbox.close()之后输入了一个alert(<%=Session["ProcessOrder_Redirect"].ToString()%>);,它出现(并留在那里)给那些卡住有效URL的用户。我无法重现这个错误,所以我有点卡住了。

我唯一的想法就是那个。重定向不起作用(目前正等待更多信息确认这一点)或B..ColorBox正在窃听并且不会关闭。

任何人都能帮我解开这个谜团吗?

编辑:似乎是重定向搞乱了。任何人都知道为什么这不会一直有效。

由于

1 个答案:

答案 0 :(得分:0)

我最终设置了一个手动链接,以便用户在卡住时点击。似乎现在已经对它进行了排序,但仍然不知道是什么导致了这个问题。