当页面即将关闭时,我正在使用下面的自定义提醒。问题是,在用户单击自定义警报上的“确定”按钮之前,警报播放和页面关闭。缺少的是自定义警报,在用户单击“确定”按钮之前,它无法保持页面处于打开状态?
window.onbeforeunload = function() {
{
return custom_alert(head, txt);
}
function custom_alert(head, txt) {
var d = document;
var c_obj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
c_obj.id = "contain";
c_obj.style.height = d.documentElement.scrollHeight + "px";
var alertObj = c_obj.appendChild(d.createElement("div"));
alertObj.id = "alert";
if (d.all && !window.opera)
alertObj.style.top = document.documentElement.scrollTop + "px";
alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth) / 2 + "px";
alertObj.style.visiblity = "visible";
var h1 = alertObj.appendChild(d.createElement("h1"));
h1.appendChild(d.createTextNode(head));
var msg = alertObj.appendChild(d.createElement("p"));
msg.innerHTML = txt;
var btn = alertObj.appendChild(d.createElement("a"));
btn.id = "close";
btn.appendChild(d.createTextNode('ok'));
btn.focus();
btn.onclick = function() {
c_obj.parentNode.removeChild(c_obj);
};
alertObj.style.display = "block";
}
答案 0 :(得分:0)
我找到了一个解决这个问题的库:
http://t4t5.github.io/sweetalert/
官方提醒:alert("Oops... Something went wrong!");
更改的提醒:sweetAlert("Oops...", "Something went wrong!", "error");
此库解决了创建自己的警报的许多问题。