JS: Alert-Box schließen

Status
Nicht offen für weitere Antworten.

Raven280438

Erfahrenes Mitglied
Hi,

ist es möglich, eine alert()-Box automatisch zu schließen?
Ich möchte beim Laden der Seite eine Alert-Box anzeigen lassen und wenn die Seite fertig geladen ist, sie wieder schliessen.

Um die Alert-Box zu öffnen, haben ich zu Beginn der PHP-Datei forgenden Code:
PHP:
echo "<script type='text/javascript'>
al = alert(\"Viele E-Mails\");
</script>";

Das Laden der Seite wird aber solange unterbrochen, bis OK geklickt wurde.
Wie bekomm ich die Box wieder automatisch zu, wenn die Seite fertig geladen ist und die Seite wärend die Box angezeigt wird weiter geladen wird?



Gruß
 
Also imho ist es nicht möglich eine Alertbox ohne Interaktion automatisch zu schließen.

Darf ich nach dem Sinn fragen? Mich würde es endlos nerven wenn ich jedes mal Ok drücken müsste. Willst Du damit einen Hinweis einblenden? Wenn ja, mach das doch lieber mit einem Div. So vergraulst Du Dir auch nicht die Besucher.
 
Zuletzt bearbeitet:
Also ich möchte eine Liste ausgeben lassen. Die Erstellung dieser Liste dauert aber einige Sekunden.
Das wollte ich dem Nutzer mit der Alert-Box sagen.
 
Dann würde ich die Finger davon lassen. Alertboxen sind richtig nervig. Blende lieber über einen Timer ein Div mit dieser Information ein. Oder noch besser schreib diesen Hinweis einfach dazu und verwende eine auffällige Formatierung. Am allerbesten frag den Ladestatus mit AJAX ab und blende die Ladeinfo so lang ein bis die Daten wirklich geladen sind. Auf jeden Fall keine Alertbox!
 
Zuletzt bearbeitet:
Hab leider 0 Plan von AJAX und auch keine richtige Zeit mich da reinzulesen.
Das Projekt muss bis nächsten Freitag fertig sein
 
AJAX-Lösung wäre nur die Kür. Ich würde einfach für x Sekunden ein Div einblenden. Guckst Du.

Javascript:
//JS startet erst wenn das Fenster vollständig geladen ist.
window.onload = function(){
     //Element sichtbar machen
     document.getElementById('infobox').style.visibility = 'visible';
     
    //Timerfunktion aufrufen
     window.setTimeout("hideInfo()", 5000); //bleibt 5 Sekunden sichtbar
}


function hideInfo()
{
     //Element verstecken
     document.getElementById('infobox').style.visibility = 'hidden';
}

HTML:
<div id="infobox" style="visibility:hidden;background-color:#cccccc; width:300px;height:200px;">Bitte warten. Daten werden geladen.</div>

Das Div kannst/musst Du Dir natürlich in CSS stylen und positionieren. Das ganze ist quasi nur ein Denkanstoß.
 
Zuletzt bearbeitet von einem Moderator:
Oder anstatt nem div einfach ein neues Window da ist das ganze dann ja recht leicht...

Code:
<script type="text/javascript"> 
var alert = window.open('', 'test'); 
window.setTimeout(function() {alert.close()}, 1000);
</script>
 
Ein Div ist halt angenehmer/eleganter als ein neues Fenster oder Alertbox. Am nächst besten Popupblocker wirst Du damit scheitern. Aber in Endeffekt isses Jacke wie Hose.
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück