Javascript 选项卡打开时的Ajax调用

Javascript 选项卡打开时的Ajax调用,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我对jquery有以下问题: $(function() { var linkCorretto = $("#id").text(); var authWindow; $('a[data-reveal-id]').live('click', function(e) { e.preventDefault(); var modalLocation = $(this).attr('data-reveal-id'); $('#' +

我对jquery有以下问题:

$(function() {

    var linkCorretto = $("#id").text();
    var authWindow;

    $('a[data-reveal-id]').live('click', function(e) {
        e.preventDefault();
        var modalLocation = $(this).attr('data-reveal-id');
        $('#' + modalLocation).reveal($(this).data());
    });

    $.fn.reveal = function(options) {

        var defaults = {
            animation: 'fadeAndPop',
            animationspeed: 300,
            closeonbackgroundclick: false,
            dismissmodalclass: 'close'
        };

        var options = $.extend({}, defaults, options);
        var altezza = $(window).height();
        altezza = altezza * 0.5;

        return this.each(function() {

            var modal = $(this),
            modalheight = modal.height() * 0.8;
            topMeasure = parseInt(modal.css('top')),
            topOffset = modal.height() + topMeasure,
            locked = false,
            modalBG = $('.reveal-modal-bg');

            if (modalBG.length == 0) {
                modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal);
            }

            modal.bind('reveal:open', function() {
                modalBG.unbind('click.modalEvent');
                $('.' + options.dismissmodalclass).unbind('click.modalEvent');
                if (!locked) {
                    lockModal();

                    //modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(window).scrollTop()+topMeasure});
                    modal.css({
                        'opacity': 0,
                        'visibility': 'visible',
                        'top': $(window).scrollTop() + altezza - modalheight
                    });
                    $('body').css('overflow-y', 'hidden')
                        modalBG.fadeIn(options.animationspeed / 2);
                    modal.delay(options.animationspeed / 2).animate({
                        "opacity": 1
                    }, options.animationspeed, unlockModal());

                }
                modal.unbind('reveal:open');

                $('.warning').hide();
                $('.loading').hide();
                $('.loadingoff').show();
                $('.reveal-modal').addClass('background');

            });

            modal.bind('reveal:close', function() {

                if (!locked) {
                    lockModal();

                    modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
                    modal.animate({
                        "opacity": 0
                    }, options.animationspeed, function() {
                        modal.css({
                            'opacity': 1,
                            'visibility': 'hidden',
                            'top': topMeasure
                        });
                        $('body').css('overflow-y', 'auto')
                            unlockModal();
                    });

                }

                modal.unbind('reveal:close');

            });

            modal.trigger('reveal:open')

                var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function() {
                modal.trigger('reveal:close')
                });

            /*
                            if(options.closeonbackgroundclick) {
                                    modalBG.css({"cursor":"pointer"})
                                    modalBG.bind('click.modalEvent', function () {
                                      modal.trigger('reveal:close')
                                    });
                            }
                            $('body').keyup(function(e) {
                            if(e.which===27){ modal.trigger('reveal:close'); }
                            });
                            */

            function unlockModal() {
                locked = false;
            }
            function lockModal() {
                locked = true;
            }

        });

    }
    // $.fn.reveal
    $(".accetta").click(function() {

        var dati = new Object();
        dati = $("#listaCarte").val();

        var imageUrl = '';
        var x = ($('.reveal-modal').height());
        $('.loadingoff').hide();
        $('.loading').css('height', x).show();
        $('.reveal-modal').removeClass('background');

        $('<input>').attr({
            type: 'hidden',
            id: 'linkDaSostituire',
            name: 'linkDaSostituire',
            value: linkCorretto,
            });

        setTimeout(function() {
            $.ajax({

                type: "POST",
                url: "/portalppay/ScontiServlet",
                data: {
                    "linkDaSostituire": linkCorretto,
                    "cartaSelezionata": dati
                },
                dataType: "html",

                success: function(msg) {
                    //window.location = msg;
                    authWindow = window.open('about:blank');
                    authWindow.location.replace(msg);
                    //window.open(msg);
                    //var win=window.location(msg, '_blank');
                    //win.focus();
                    $('.reveal-modal').trigger('reveal:close');
                },

                error: function() {
                    $('.loadingoff').hide();
                    $('.loading').hide();
                    $('.warning').css('height', x - 40).show();
                }

            });
        }, 400);

    });
    // .accetta
    });
我得到了一个答案的url,我确实在浏览器中看到了以下代码:

authWindow = window.open('about:blank');
authWindow.location.replace(msg);
问题是,我无法在新选项卡中呈现链接,但总是在新的弹出窗口中呈现!
有人能帮我解决这个问题吗?

您检查过浏览器设置了吗

它是选择如何打开新窗口的浏览器

在Firefox中,有一个“在新选项卡中打开新窗口”选项,它告诉浏览器是否必须在新选项卡中或在。。。新窗口

请注意,这仅在调用
窗口时有效。在不使用
strWindowFeatures
参数的情况下打开
,指定它会强制浏览器(至少Firefox和Explorer,Chrome似乎没有类似的选项)在新窗口中打开链接


有关更多信息:

对于一个问题来说,代码太多了。首先缩小你的问题范围。另外,这个网站主要讲英语,你可能不会收到很多用另一种语言回答部分问题的答案。“il problemaèche non riesco在una nuova tab中有一个非常可视化的il链接,在un nuovo popup中有一个sempre!!”English please:Dsorry:问题是我不能在新选项卡中呈现链接,但总是在新的弹出窗口中!有人能帮我解决这个问题吗?试试:
authWindow=window.open('about:blank','u blank','width=4000,height=4000')不起作用!始终打开弹出窗口,但不打开我的浏览器或新选项卡的新位置。
authWindow = window.open('about:blank');
authWindow.location.replace(msg);