javascript中使用的window.open()在Firefox和Edge中不起作用

时间:2018-07-16 12:53:53

标签: javascript jquery

我正在使用像这样的ajax发布呼叫

$("#submit").on('click',function(){

    $("#submit").prop("disabled",true);
    $("#submit").prop("value","Loading...");

    $.ajax({
        type: 'POST',
        url: 'myURL',
        data: JSON.stringify({
            "mailid" : mailid,
            "a1" : a1,
            "a2" : a2,
            "a3" : a3,
            "a4" : a4,
            "a5" : a5,
            "a6" : a6,
            "a7" : a7,
            "a8" : a8,
            "a9" : a9,
            "a10" :a10,
            "dob" : age,
            "filledBy" : filledBy
        }),
        success: function () {
            //to open the score page
            window.open("score.html","_top");

            $("#submit").prop("disabled",false);
            $("#submit").prop("value","Get My Score");
        },
        error: function(error) {
            alert(error);

        }
    });
});

在成功函数window.open()在chrome中可以正常工作,即页面被重定向到score.html,但在Edge,Firefox和Internet Explorer浏览器中不起作用,而只是刷新同一页面。是否存在使用window.open()的替代方法,以便无论使用哪种浏览器,它都重定向到“ Score.html”?

1 个答案:

答案 0 :(得分:0)

FireFox和Edge仅在单击时允许dialogUrl = dialogUrl + 'qLTI.html'; Office.context.ui.displayDialogAsync(dialogUrl, {height: 90, width: 70}, function (asyncResult) { dialog = asyncResult.value; dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage); } ); ,在其他情况下(以及ajax成功),请询问用户是否要允许打开新窗口。用户也可以选择页面不再询问此问题。

如果要重定向到新页面,请使用以下插图:

window.open