Bilder mit JS in Browsercash laden
Alex
- javascript
Hallo,
ich bin dabei eine HTML Seite zu erstellen die später auf einem USB-Stick gespeichert werden soll. Natürlich sollte sie sich öffnen lassen ohne dass man daten auf den computer ziehen muss.
leider hat die seite sehr viele große bilder die alle beim aufrufen in den chash geladen werden. häufig stürzt der browser deshalb ab oder es kommt eine warnmeldung, dass das JS nicht mehr reagiert (aber eigendlich arbeitet es die ganze zeit).
die pfade der bilder habe ich in einem 2 dimmensionalen array gespeichert, da sie so besser geordnet werden können. das ganze habe ich in eine window.onload funktion gepackt da sonst garnix funktioniert (die bilder werden nicht gefunden beim ausführen der funktionen)
wie schaffe ich es, dass kein browser meckert und ganz ruhig einfach die bilder in den cash läd? oder kann man die bilder etappenweise laden lassen?
hier mal ein beispiel wie die arrays aussehen (von denen habe ich ca 80 und in jedem sind ca 50 bilder):
bilder[2][0] = getPV("examples/auto/blau/blau_00000.jpg;examples/auto/blau/blau_00001.jpg;examples/auto/blau/blau_00002.jpg;examples/auto/blau/blau_00003.jpg;examples/auto/blau/blau_00004.jpg;examples/auto/blau/blau_00005.jpg;examples/auto/blau/blau_00006.jpg;examples/auto/blau/blau_00007.jpg;examples/auto/blau/blau_00008.jpg;examples/auto/blau/blau_00009.jpg;examples/auto/blau/blau_00010.jpg;examples/auto/blau/blau_00011.jpg;examples/auto/blau/blau_00012.jpg;examples/auto/blau/blau_00013.jpg;examples/auto/blau/blau_00014.jpg;examples/auto/blau/blau_00015.jpg;examples/auto/blau/blau_00016.jpg;examples/auto/blau/blau_00017.jpg;examples/auto/blau/blau_00018.jpg;examples/auto/blau/blau_00019.jpg;examples/auto/blau/blau_00020.jpg;examples/auto/blau/blau_00021.jpg;examples/auto/blau/blau_00022.jpg;examples/auto/blau/blau_00023.jpg;examples/auto/blau/blau_00024.jpg;examples/auto/blau/blau_00025.jpg;examples/auto/blau/blau_00026.jpg;examples/auto/blau/blau_00027.jpg;examples/auto/blau/blau_00028.jpg;examples/auto/blau/blau_00029.jpg;examples/auto/blau/blau_00030.jpg;examples/auto/blau/blau_00031.jpg;examples/auto/blau/blau_00032.jpg;examples/auto/blau/blau_00033.jpg;examples/auto/blau/blau_00034.jpg;examples/auto/blau/blau_00035.jpg;examples/auto/blau/blau_00036.jpg;examples/auto/blau/blau_00037.jpg;examples/auto/blau/blau_00038.jpg;examples/auto/blau/blau_00039.jpg;examples/auto/blau/blau_00040.jpg;examples/auto/blau/blau_00041.jpg;examples/auto/blau/blau_00042.jpg;examples/auto/blau/blau_00043.jpg;examples/auto/blau/blau_00044.jpg;examples/auto/blau/blau_00045.jpg;examples/auto/blau/blau_00046.jpg;examples/auto/blau/blau_00047.jpg");
Hi,
ich bin dabei eine HTML Seite zu erstellen die später auf einem USB-Stick gespeichert werden soll. Natürlich sollte sie sich öffnen lassen ohne dass man daten auf den computer ziehen muss.
Das „Öffnen“ soll dann also gar nicht über HTTP/einen lokalen Webserver erfolgen, sondern einfach „aus dem Dateisystem heraus“, über das file://-Protokoll?
leider hat die seite sehr viele große bilder die alle beim aufrufen in den chash geladen werden. häufig stürzt der browser deshalb ab oder es kommt eine warnmeldung, dass das JS nicht mehr reagiert (aber eigendlich arbeitet es die ganze zeit).
Slave: “Pharaoh, it hurt’s when I breathe …”
Pharaoh Bender: “Well then, what do you think you should stop doin’ …?”
wie schaffe ich es, dass kein browser meckert und ganz ruhig einfach die bilder in den cash läd?
Spar’ dir dein Script-Gebastel, und lasse den Browser die Bilder einfach normal vom Stick laden. Das sollte, selbst wenn USB-Stick nicht das schnellste Medium ist, immer noch in akzeptabler Zeit vonstatten gehen, und allemal schneller gehen, als wenn HTTP im Spiel wäre.
Ob der Browser lokale Ressourcen überhaupt cached, da wäre ich mir noch nicht mal sicher.
MfG ChrisB
Das „Öffnen“ soll dann also gar nicht über HTTP/einen lokalen Webserver erfolgen, sondern einfach „aus dem Dateisystem heraus“, über das file://-Protokoll?
richtig
Spar’ dir dein Script-Gebastel, und lasse den Browser die Bilder einfach normal vom Stick laden. Das sollte, selbst wenn USB-Stick nicht das schnellste Medium ist, immer noch in akzeptabler Zeit vonstatten gehen, und allemal schneller gehen, als wenn HTTP im Spiel wäre.
wie mache ich das? muss der user dann die dateien erst downloaden? (sind ca 50MB)
Hi,
Spar’ dir dein Script-Gebastel, und lasse den Browser die Bilder einfach normal vom Stick laden.
wie mache ich das?
Indem du sie ins HTML-Dokument einbindest, dort mit den üblichen Möglichkeiten referenzierst …?
muss der user dann die dateien erst downloaden? (sind ca 50MB)
Ich denke, HTTP soll gar nicht im Spiel sein?
MfG ChrisB
Indem du sie ins HTML-Dokument einbindest, dort mit den üblichen Möglichkeiten referenzierst …?
und du bist dir sicher das macht einen unterschied? (will nicht 4000 dateien umsonst einbetten) Hab grad alles vom stick auf die HDD geladen --> und es macht keinerlei unterschied beim laden.
Ich denke, HTTP soll gar nicht im Spiel sein?
ich meinte auch vom usb-stick.
Hi,
Indem du sie ins HTML-Dokument einbindest, dort mit den üblichen Möglichkeiten referenzierst …?
und du bist dir sicher das macht einen unterschied? (will nicht 4000 dateien umsonst einbetten)
Irgendwie ins HTML eingebunden müsstest du sie doch schon haben - welchen Sinn soll sonst das „Vorladen“ machen?
Ums Testen wirst du nicht herum kommen.
Hab grad alles vom stick auf die HDD geladen --> und es macht keinerlei unterschied beim laden.
Wenn dein „lade mir zigtausend Bilder, alle, jetzt!!!“–JavaScript dir Ursache des Problems ist, dann ändert die Quelle der Daten daran wohl wenig.
MfG ChrisB