簡體   English   中英

自定義JavaScript警報不會阻止頁面關閉

[英]Custom JavaScript alert not stopping page from closing

頁面即將關閉時,我正在使用以下自定義警報。 問題在於,在用戶可以單擊自定義警報上的“確定”按鈕之前,警報會彈出並關閉頁面。 缺少的自定義警報是自定義警報,直到用戶單擊“確定”按鈕,它才能保持頁面打開狀態?

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";
}

我找到了一個解決此問題的庫:

http://t4t5.github.io/sweetalert/

官方警報: alert("Oops... Something went wrong!");

更改后的警報: sweetAlert("Oops...", "Something went wrong!", "error");

該庫解決了創建您自己的警報的許多問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM