Window.open (), используемый в javascript, не работает в firefox и edge

Я использую такой пост-вызов 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» независимо от того, какой браузер используется?

Не могли бы вы привести пример на jsfiddle? Спасибо.

David 16.07.2018 14:58

Так в чем проблема: успех ajax или window.open? Что, если вы просто добавите window.open в событие щелчка? Это работает во всех браузерах?

freedomn-m 16.07.2018 15:09

звучит как блокировщик всплывающих окон, если он действительно попадает в метод успеха

epascarello 16.07.2018 15:20

Да, я считаю, что это блокировщик всплывающих окон, я попытался добавить «async: false» к моему методу ajax, и window.open () работает нормально, но добавление async: false не пропускает эти две строки, $ ("# submit" ) .prop ("отключено", истина); $ ("# submit"). prop ("значение", "Загрузка ..."); Есть ли способ предотвратить блокировку всплывающих окон без использования async: false?

PKK 18.07.2018 22:48
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
451
1

Ответы 1

FireFox и Edge позволяют window.open просто по щелчку, а в других ситуациях (а также при успешном использовании ajax) спросите пользователей, хотят ли они разрешить открытие нового окна. Пользователь также может выбрать, чтобы страница больше не задавала этот вопрос.

Если вы хотите перенаправить на новую страницу, используйте эту вставку:

 window.location.href = "score.html";

Я пробовал использовать window.location.href и все еще без изменений, страница обновляется, но не открывает новую страницу html

PKK 18.07.2018 22:56

Для открытия нового окна требуется физический щелчок или разрешение пользователя. Window.location - это просто предложение завершить операцию в текущем окне. @PKK

Ali Sheikhpour 19.07.2018 07:40

Другие вопросы по теме