#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» перенаправлял на каждый конкретный язык на сайте?