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

Übersicht Andere Programmiersprachen Allgemein

Neue Antwort erstellen

tft

Betreff: [HML5] Recurcen client seitig nur laden wenn nötig?

BeitragSa, Mai 25, 2013 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Mai 25, 2013 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Mai 26, 2013 0:39
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Okt 10, 2013 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Okt 12, 2013 9:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Okt 12, 2013 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Okt 12, 2013 13:41
Antworten mit Zitat
Benutzer-Profile anzeigen
hey danke, das ist ja wirklich garnicht mal so schlimm Smile
|moonForge|
Ich bin Pokémon Meisterin seit 1998!

tft

BeitragSo, Okt 13, 2013 8:49
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Okt 13, 2013 10:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Okt 13, 2013 11:14
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Okt 13, 2013 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Okt 13, 2013 12:52
Antworten mit Zitat
Benutzer-Profile anzeigen
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 !!!!!!

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group