Ausladen eines DIV-Inhalts

  • Themenstarter Themenstarter ByeBye 227189
  • Beginndatum Beginndatum
B

ByeBye 227189

Hallo alle zusammen.

Ich habe ein kleines Script in JS erstellt, welches mir die Möglichkeit gibt ein vorerst auf :hidden; gesetztes <DIV> einzublenden.
Soweit so gut. Dank der JS-Debugger-Konsole von Safari ist es nett zu sehen das der angeforderte Content auch erst dann geladen wird sollte das <DIV> angefordert und auf :visible; gesetzt werden.

Jetzt kommt der Kern der Frage: Wie schaffe ich es das wenn ich das <DIV> über meinen close-button, welcher im Moment nicht mehr kann als das <DIV> wieder auf :hidden; zu setzen, den Content aus der Seite wieder auszuladen? Quasi das er den Speicher wieder freigibt.

(!)Hintergedanke dabei ist, dass sollte das Video (welches meinen Content repräsentiert) ja noch am laden sein, das <DIV> allerdings nur auf :hidden; gesetzt wird, läd es weiter, was aber dann der Performance des Anwenders nicht gut tut.(!)

Wie kann ich also den Content jetzt ausladen? So das der Anwender keinen Hintergrundprozessen ausgeliefert ist,
die sein Surfverhalten stören, für den Fall das meine Seite weiterhin geöffnet sein sollte? :confused:
 
Hallo daFisch0r,

wenn ich dich richtig verstehe, dann willst du, wenn man das DIV einblendet, dass das Video geladen werden soll.
Und wenn das DIV schließt (=visible:hidden), dass dann das Video (eher der Speicher) wieder freigegeben wird.

(Ich habe noch nie gehört, dass sich ein Web-Programmierer Gedanken um die Resourcen des Anwender macht :-):-):-))
 
Das ist vollkommen richtig. Ich bin ja schon soweit, dass wenn man das Video (das DIV) schließt und eventuell wieder öffnet (:visible;) sich keine zweite Instanz des Videos einläd (IF sei Dank).

Frage mich halt nur ob es überhaupt möglich ist den Content auszuladen
 
Mit document.removeChild():
Javascript:
var div = document.getElementById("video_obj");
document.removeChild(div);
Nur das Aufbauen ist komplizierter. Siehe document.createElement, document.createAttribute und document.appendChild (oder einfach nach "W3C DOM" googlen)
 
Klappt leider nicht. Das Video bleibt als Instanz geladen.
Auch nach Deklaration als firstChild.
Muss ich halt meine Videos klein halten und hoffen das alles glatt läuft.

Danke für die Hilfe.

GreeZ
 
Moin,

Klappt leider nicht. Das Video bleibt als Instanz geladen.
Woran erkennst du das?

Ich würde meinen, dass der von ComFreek genannte Weg der rechte sein sollte.
Da ist nur ein kleiner Fehler drin, denn removeChild() muss auf den Elternknoten des zu entfernenden Elementes angewendet werden:
Code:
document.getElementById('divMitVideo').parentNode.removeChild(document.getElementById('divMitVideo'));

Ich hab das mal in FF und Safari probiert: in beiden wird das Video nicht nur entfernt, im Taskmanager ist auch ein deutlicher Abfall des Speicherverbrauchs des Browsers festzustellen.
 

Neue Beiträge

Zurück