JavaScript — перезагрузка страницы в фоновом режиме без предупреждения () (вместо этого используется sweetalert)

У меня есть функция php, которая перезагружает одну страницу в скрытом iframe до того, как будет выполнено реальное перенаправление после нажатия кнопки ввода.

function button_confirm_order_params() {
$url = "somepagetoreloadinbackground.php";
$alert = "alert('you will be redirected to ext. page')";
return "onclick=\"document.all.myFrame.src='$url'; $alert;\"";
}

Все работает хорошо, однако я хотел бы использовать что-то более красивое, чем предупреждение браузера. Поэтому я скачал SweetAlert и изменил вернуть чтобы:

 return "id=\"btnShowAlert\" onclick=\"document.all.myFrame.src='$url'; \"";

Проблема в том, что без alert () страница не останавливается перед перенаправлением. Он просто показывает Sweetalert на мгновение, а затем открывает другую страницу, поэтому мой «somepagetoreloadinbackground.php» не загружается. Есть идеи справиться с этим?

2

Решение

Если вы посмотрите примеры, приведенные на подслащивающем github, кажется, что на самом деле есть много вариантов, которые могут вам помочь: http://t4t5.github.io/sweetalert/

Существует стандартная версия тайм-аута: это атрибут таймера, который вы должны добавить.

swal({
title: "some title",
text: "some message",
timer: 2000, // timeout in miliseconds
showConfirmButton: false // show ok button or not
});

И также, хотя это подтверждение вместо предупреждения, есть функция обратного вызова! Просто добавьте перенаправление к этому обратному вызову, если версия тайм-аута не достаточно хороша:

swal({
// add all options you want
},
function(){
// the actual callback, triggered by clicking the ok button on the confirm.
document.all.myFrame.src='$url'
});

Всегда читайте документы для библиотеки, которую вы используете в первую очередь. 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]