[Monkey] [HML5] Recurcen client seitig nur laden wenn nötig?
Übersicht

![]() |
tftBetreff: [HML5] Recurcen client seitig nur laden wenn nötig? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Halle,
in meinem MauMau Project ergibt sich die Situation, das alle möglichen Bilder und Dateien geladen werden müssen die sich auf dem Server befinden. Nun ändern sich diese ja nur eher selten und daher stelle ich mir die Frage ob es eine Möglichkeit gibt unter HTML5 das Laden der Recurcen zu steuern. So das nur Daten geladen werden dessen erstellungs Datum > ist als das bestehende. Jemand ne Idee ..... Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kenne mich mit Monkey nicht aus, aber soweit ich HTML5 verstanden habe, solltest du den Browser steuern, diese Resourcen zu cachen (dazu gibt es eingebaute Funktionen). Hierzu musst du den Server anweisen, bestimmte HTTP-Header zu senden (Wikipedia: HTTP Caching). Falls dies nicht klappt, wäre es vielleicht sinnvoll, die Resourcen nicht aus dem JavaScript-Code heraus zu laden, sondern statisch in das HTML-Dokument zu integrieren und mit CSS zu verstecken (die Monkey-Umsetzung hiervon ist vielleicht schwierig, keine Ahnung). Evtl. würde das den Browser eher zum Cachen überreden. Bei den Recherchen ist mir gerade übrigens die Möglichkeit eines Cache Manifests untergekommen, mit soetwas habe ich mich noch nicht beschäftigt, aber vielleicht wäre das die Lösung.
ZEVS |
||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
deine Info hatt mich neugierig gemacht und habe dabei dies gefunden. Auf Deutsch. Mal sehen ob ich das hinbekomme. http://www.html5rocks.com/de/t.../beginner/ Danke |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
AnniXa |
![]() Antworten mit Zitat ![]() |
---|---|---|
hey tft, haste hier was rausgefunden zu dieser thematik?
würd mich auch grad mal interresieren |
||
|moonForge|
Ich bin Pokémon Meisterin seit 1998! |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
nein leider nicht. Ich bekomme das irgendwie nicht gebacken. Die Infos dazu sind zwar eindeutig. Aber in Real funktioniert das nur im Chrome. Und das ist etwas wenig. LG TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist doch nicht schwer Mädels.
1. Manifest Ihr benötigt zuerst eine Datei mit irgendeinem Dateinamen in dem ihr definiert was in den AppCache soll, ich nenne sie mal "manifest.appcache". In dieser datei schreibt ihr mindestens "CACHE MANIFEST" und dann listet ihr die Dateien auf die in den Cache sollen: Code: [AUSKLAPPEN] CACHE MANIFEST MonkeyGame.html data/mojo_font.png Beachte: Es dürfen nicht mehr als 5MB an Daten sein! 2. Game-HTML Dann bearbeitet ihr die MonkeyGame.html (oder wie auch immer ihr die Datei benannt habt) und fügt dem "<html>" Element folgendes Attribut hinzu: Code: [AUSKLAPPEN] manifest="manifest.appcache"
Das war es schon. |
||
![]() |
AnniXa |
![]() Antworten mit Zitat ![]() |
---|---|---|
hey danke, das ist ja wirklich garnicht mal so schlimm ![]() |
||
|moonForge|
Ich bin Pokémon Meisterin seit 1998! |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ja ... es sieht nicht schlimm aus. Wenn mann aber im hintergrund einen Tracker zu laufen hat. Wird man sehen das das so nicht bei jedem Browser funktioniert. Der Download bei aufruf der HTML Datei sollte ja dann beim ersten mal so gross sein wie alle Daten zusammen. Und danach, sofern sich die Daten nicht ändern, nur noch die Haupt HTML Seite. Zumindestens solange bis der Broser geschlossen wird. Aber eigentlich auch darüber hinaus. Oder sehe ich da was falsch. Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Exakt das passiert doch: Alle Dateien die in der Manifest stehen werden in den Application Cache geladen und fortan nur noch lokal gezogen, auch die eigentliche HTML Seite. Danach steht Deine App offline zur Verfügung.
Dass das nicht mit allen Browsern funktionieren soll halte ich für ein Gerücht: https://developer.mozilla.org/...patibility Selbstverständlich ist die Application Cache API um einiges umfangreicher als ich hier dargestellt habe, aber ich wollte ja nur aufzeigen wie einfach es sein kann. |
||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ....
weist du auch wie man einen Download erzwingen kann wenn der Cache angelegt ist und die Daten neu geladen werden sollen. Oder nur bestimmte Daten? Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
tft hat Folgendes geschrieben: Hi ....
weist du auch wie man einen Download erzwingen kann wenn der Cache angelegt ist und die Daten neu geladen werden sollen. Oder nur bestimmte Daten? Gruss TFT Dazu musst Du Dir mittels Javascript den Application Cache holen: Code: [AUSKLAPPEN] var cache = window.applicationCache;
Hat sich etwas geändert, oder ist etwas hinzugekommen wird der State auf "UPDATEREADY" stehen: Code: [AUSKLAPPEN] if (cache.status == window.applicationCache.UPDATEREADY)
Ist dies der Fall führst Du ein "swapCache()" aus der das herunterladen der neuen Daten erzwingt: Code: [AUSKLAPPEN] if (cache.status == window.applicationCache.UPDATEREADY) {
cache.swapCache(); } Ich kann Dir das gern in ein kleines Monkey Modul packen falls Du zu unsicher in JavaScript bist. |
||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ,
das wäre cool. Danke. Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group