Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 2
  • 70

Czy da się zmusić funkcję window.alert do wyświetlania komunikatu tak, aby nie blokowała okna przeglądarki, a okno z komunikatem było wyświetlane w obrębie strony (taba), której dotyczy?

Uczestnik szkolenia
  • Zapytał
  • @ Uczestnik szkolenia | 15.06.2014

Odpowiedź (1)

  • 4

Samej funkcji window.alert nie można do tego zmusić. Natomiast można ją podmienić na funkcję które zamiast domyślnego alertu utworzy w obrębie dokumentu HTML element DIV zawierający komunikat. element taki można wypozycjonować na środku ekranu, a w środku umieścić dodatkowo ikonkę jak w oknie alert i przyciski które go zamkną oraz dodać obramowanie tak, że do złudzenia będzie przypominał zwykły alert. Warto jednak oryginalną funkcję gdzieś sobie zapisać na wszelki wypadek, żeby był do niej dostęp.

Poniżej krotki przykład:

   window._alert = window.alert;
 

window.alert = function (msg) {
        //window._alert("ALERT:" + msg);
     var div = document.createElement('div');
    var divMsg=document.createElement('div');
     divMsg.innerHTML=msg;
     div.appendChild(divMsg);
    var cmd = document.createElement('button');
    cmd.onclick=function(){
        this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
    }
   div.appendChild(cmd);
  div.style.position="absolute";
  div.style.top = "100px";
div.style.left = "100px";
   document.body.appendChild(div);
   }


    }


//test

   alert("Ala ma kota");

  • Odpowiedział
  • @ | 15.06.2014
  • TRENER ALTKOM AKADEMII
Komentarze