Окно.расположение перенаправления Javascript JS

#javascript #redirect #window.location

#javascript #перенаправление #окно.Расположение

Вопрос:

У меня есть это:

                 setTimeout(function () {
              $.dialog({
                title: 'Existing user',
                content: "This account is already registered on our system. If you are the real owner, contact us!",
                icon: 'fas fa-user',
                theme: 'modern',
                animation: 'scale',
                type: 'red',
                draggable: false,
                closeIcon: function(){
                              window.location="/dashboard";
                          },
              });
            }, 200);
  

Мне нужно перенаправить пользователя через 5 секунд, как только он / она нажмет «Закрыть значок». Проблема в том, что если я использую это, диалоговое окно никогда не отображается:

                     closeIcon: setTimeout(function () {
                              window.location="/dashboard";
                          }, 5000);
              });
  

Как я мог сделать?

Спасибо!

Редактировать:

Я тоже пробовал это, но это не работает:

                 function () {
              $.dialog({
                title: 'Existing user',
                content: "This account is already registered on our system. If you are the real owner, contact us!",
                icon: 'fas fa-user',
                theme: 'modern',
                animation: 'scale',
                type: 'red',
                draggable: false,
                closeIcon: setTimeout(function () {
                              window.location="/dashboard";
                          }, 5000);
              });
            }
  

Комментарии:

1. потому что вы устанавливаете значение closeIcon равным целому числу, которое и возвращает время ожидания…..

2. @epascarello Проверьте мою правку! Спасибо.

3. Оберните setTimeout() в функцию … closeIcon: ()=>{ setTimeout(()=>window.location="/dashboard";})

4. Оно должно быть похоже на ваше первое перенаправление с указанием времени ожидания…..

Ответ №1:

 closeIcon: function () {
  setTimeout(function () {
      window.location="/dashboard";
  }, 5000);
}  

Сделайте это вместо этого.

Ответ №2:

Проблема в том, что setTimeout возвращает положительное целое число, но closeIcon ожидает функцию. Использование функции со стрелкой (ES6) для включения таймера должно устранить проблему. Вы также можете использовать обычную функцию.

 setTimeout(function () {
    $.dialog({
        title: 'Existing user',
        content: "This account is already registered on our system. If you are the real owner, contact us!",
        icon: 'fas fa-user',
        theme: 'modern',
        animation: 'scale',
        type: 'red',
        draggable: false,
        closeIcon: ()=> {
            setTimeout(()=>window.location = "/dashboard",2000);
        },
    });
}, 200);
  

Ответ №3:

Есть ли способ добиться этого на многоязычном сайте, чтобы «/dashboard» перенаправлял на каждый конкретный язык на сайте?