Hallo!
Wie erreiche ich mit JavaScript, dass eine große Datei im neugeöffneten Fenster zuerst geladen wird (5-10 Sekunden mind.)und dann erst startet (bzw. sich zeigt). Bis zum Start möchte ich eine andere Datei (Sanduhr als animiertes Gif o.ä. in ebendiesem neuen Fenster zeigen.
Hintergrund ist, dass die zu startenden Dateien ziemlich groß sind und der Benutzer schnell ungeduldig werden wird. Wenn da kein Fenster davor ist mit Sicherheitshinweis/Erklärung, dann drückt er vielleicht auf andere Knöpfe und bringt mir den Computer völlig um die Performance.
JavaScript-Code kann ich zwar lesen, aber so ganz sicher bin ich mir nicht. Schreibt also lieber etwas ausführlicher.
sowas geht nach meinem Kenntnisstand nur im Zusammenhang mit Frames. Du erstellst eine Framesetdatei bestehend aus zwei Frames (2 columns links und rechts). Dem linken Frame gibst Du eine Breite von 100%, der rechte Frame demnach 0% oder auch umgekehrt. In dem sichtbaren Frame (100%) plazierst Du Deine Sanduhr und in dem nicht sichbaren Frame wird die Datei geladen, die solange Zeit in Anspruch nimmt. In dieser Datei baust Du zusaetzlich das onload-Event ein, was aktiv wird, wenn der Inhalt der grossen Datei vollstaendig geladen ist. Das onload-Event ruft dann eine JS-Funktion auf, was letztendlich nur die Inhalte beider Frames austauscht oder den Inhalt des unsichtbaren Frames (0%) in den sichbaren Frame reinbringt.
function cpyFrm()
{
parent.frames[0].location.href = parent.frames[1].location.href;
}
window.onload = cpyFrm;
Sicher bin ich mir da nicht, ob nicht vielleicht doch neu geladen wird, ansonsten waere da noch die Moeglichkeit, nur die Fenster-Referenzen auszutauschen:
parent.frames[0] = parent.frames[1];
Sowas koennte auch gehen, denn es gibt Analogien bzgl. geoeffneter Fenster, wenn das Elternfenster feschlossen wird. Dann heisst es dort auch: self = opener;
Es ist doch noch komplizierter - Martin
Vielleicht war meine Formulierung des Problems etwas kurz. Hier also genauere Informationen:
Die Dateien, die ich über JavaScript im neuen Fenster laden möchte, sind PowerPoint- PDF- Word- und Multimedia-Dateien.
Wie kann ich sie also so in ein neues Fenster laden, dass der onload-Funktionsaufruf tatsächlich aktiviert wird? Kann ich sie irgendwie durch in ein Script einbetten, das dann wiederum Teil einer HTML-Seite ist? Ich hab’ da mal so etwas gehört, weiss aber nicht, wie das geht.