在将swal2与重定向一起使用并返回后,div“ swal2-container”仍然可见

时间:2019-04-10 13:21:35

标签: redirect sweetalert2

我正在使用swal2在单击链接之前在页面(sourcepage.html)上获得一个确认对话框,然后重定向到另一个页面(targetpage.html)。 到目前为止,效果很好。 但是,在重定向到targetpage.html并想使用浏览器的“后退”按钮返回到sourcepage.html之后,页面被“变暗”并且不再可用,这是因为 <div class="swal2-container .....>仍然存在,并且完全覆盖了该页面。 如果我在该页面上点击“重新加载”,则该容器不见了。

这是我当前的代码:

HTML

<a href="#" onclick="JSconfirm()">Redirect me to targetpage.html</a>

JS

function JSconfirm(){
swal.fire({
title: "Redirect",
type: "warning",
html: "Here comes custom text with html",
showCancelButton: true,
closeOnConfirm: true,
closeOnCancel: true,
confirmButtonColor: "#DD6B55",
cancelButtonText: "No",
confirmButtonText: "Yes"
}).then(function (result) {
 if (result.value) {
    window.location = "targetpage.html";
 }
 });
}

我该怎么做才能确保该div不再可见。单击“是”以确认将其重定向到“ targetpage.html”后,应将其从sourcepage.html中“删除”。

非常感谢

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方法

在重定向之前就添加了swal.close和超时。

}).then(function (result) {
 if (result.value) {
    swal.close();
   setTimeout (
   () => {
    window.location.href  = "targetpage.html";
},
  1 * 500
);
}});
}