@faermark_s

Как открыть вкладку в фаерфокс?

На сайте такой скрипт
$('.js-money-button').on('click', function () {

        var sum = 0;
        if (!!slider) {
            sum = slider.noUiSlider.get();
        }

        $.ajax({
            url: '/ajax/handler.php',
            type: 'post',
            dataType: 'json',
            data: {action: 'set_user_sum', sum: sum},
            success: function (data) {
                console.log(data);
                if (data.IS_OK == 'Y') {
                    //alert('OK');
                    
                     window.open('./step');
                     setTimeout(() => { window.location = "./vitrina"; }, 500);

                } else {
                    alert('ошибка: ' + data.msg);
                }
            },
            error: function () {
                alert('send_ajax error, action=' + data.action);
            },
            complete: function () {
            }
        });

        /*
         window.open('./step')
         setTimeout(() => {
         window.location = "./vitrina";
         }, 500);
         */
    });


При нажатии на нужную кнопку фаерфокс блокирует всплывающее окно, как исправить?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 2
@zkrvndm
Софт для автоматизации
Функцию window.open() нельзя использовать асинхронно, иначе возможен блок, как у вас.

Наилучший вариант, это прописать вызов окна внутрь кнопки, тогда блока не будет:
<button onclick="new_window = window.open('./step');">Кликни меня</button>

Далее, уже после того, как отработает ваш AJAX-скрипт вы можете тупо перезаписать содержимое нового окна:
new_window.document.write('Тест, проверка!');
new_window.document.close();

Или переадресовать его, куда вам там надо.
new_window.document.location.href = '/tuda_kuda_nado';
Ответ написан
Комментировать
@cython
Никак, это указывается в настройках браузера. Просто не используйте всплывающие окна, это не самая лучшая практика.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект