Как я могу скрыть окно предупреждения после его показа?

Все, что я хочу сделать, это как я могу скрыть окно предупреждения в определенные секунды после его показа?

Все, что я знаю,

setTimeout(function() { 
      alert('close'); 
}, 5000);

// This will appear alert after 5 seconds

Нет необходимости в этом, я хочу исчезнуть после того, как вы покажете его в течение нескольких секунд.

Необходимый сценарий:

  • Показать оповещение

  • Скрыть/завершить оповещение в течение 2 секунд

Ответ 1

TL;DR; jsFiddle Demo

Эта функция невозможна с предупреждением. Однако вы можете использовать div

function tempAlert(msg,duration)
{
 var el = document.createElement("div");
 el.setAttribute("style","position:absolute;top:40%;left:20%;background-color:white;");
 el.innerHTML = msg;
 setTimeout(function(){
  el.parentNode.removeChild(el);
 },duration);
 document.body.appendChild(el);
}

Используйте это следующим образом:

tempAlert("close",5000);

Ответ 2

Вы не можете закрыть окно предупреждения с помощью Javascript.

Вместо этого вы можете использовать окно:

var w = window.open('','','width=100,height=100')
w.document.write('Message')
w.focus()
setTimeout(function() {w.close();}, 5000)

Ответ 3

невозможно с javascript. Как альтернатива предложениям из других ответов: рассмотрите использование jGrowl: http://archive.plugins.jquery.com/project/jGrowl

Ответ 4

Вы также можете попробовать API уведомлений. Вот пример:

function message(msg){
    if (window.webkitNotifications) {
        if (window.webkitNotifications.checkPermission() == 0) {
        notification = window.webkitNotifications.createNotification(
          'picture.png', 'Title', msg);
                    notification.onshow = function() { // when message shows up
                        setTimeout(function() {
                            notification.close();
                        }, 1000); // close message after one second...
                    };
        notification.show();
      } else {
        window.webkitNotifications.requestPermission(); // ask for permissions
      }
    }
    else {
        alert(msg);// fallback for people who does not have notification API; show alert box instead
    }
    }

Чтобы использовать это, просто напишите:

message("hello");

Вместо:

alert("hello");

Примечание: Имейте в виду, что он поддерживается только в Chrome, Safari, Firefox и некоторых мобильных веб-браузерах (jan. 2014)

Найти поддерживаемые браузеры здесь.