Diskuze: Offline web - Manifest
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus nastudovat tady: http://diveintohtml5.info/offline.html
Ale pokud se jedná o offline verzi, tak to bude řešené tak že se vykreslí stránka s daty z databáze a takto hotová stránka se uloží do cache / manifestu /. Tak že určitě v případě že zařízení je v offline režimu, tak se nepřistupuje k databázi.
Takže vlastně když jsem Offline tak nemůžu používat databázi a ani PHP protože když jsem offline tak nemám server pro běh PHP.
Jenže JavaScript jde i bez serveru a data z databáze potřebuji. Ale teď nevím jestli by bylo výhodné si ty data místo databáze ukládat například jako JSON nebo do TXT soubor a nějakým formátováním a přes JavaScript s tím pracovat jako s takovou databází v souboru.
Jen nevím jestli po úpravě souboru v manifestu bude ten soubor nový nebo ještě starý, to mi přijde takové krkolomné, co myslíte?
Nutné je v tomto případě oddělit věci ke kterým potřebujeme server a ke kterým klienta.
Služby:
Apache (port 80, 443) - Slouží pro webové aplikace
MariaDB (port 3306) - Databázový server
Jak vidíš, tak pro to aby si mohl přistoupit k databázi, tak musíš vlastně z Apache se dostat k MariaDB. I přes to že to třeba běží na stejné mašině, tak musíš svázat spojení mezi porty 80 a 3306. A už zde je nějaké spojení které potřebuje internet.
Tak že cachovat - tedy vytvoření manifestu - můžeš jen se soubory které je možné načíst i na počítači pouze s webovým prohlížečem bez internetového spojení. Mezi tyto soubory se řadí klientské soubory, tedy ty co se zpracovávají u klienta - o to se stará prohlížeč. Mezi tyto soubory se řadí: HTML, CSS, JS, PDF, obrázky, videa,... PHP je nutné na serveru zpracovat / zkompilovat / spustit a následně pomocí hlaviček předat výsledek.
Řešil bych to tak, že bych přegeneroval manifest tak že bych se ptal pomocí AJAXu nějakého PHP souboru. Pokud načte data, překreslíš stránku - klient je online. Pokud vrátí 404, nebo něco jiného - klient je offline použije se manifest.
Jasně chápu, já sem přemýšlel že bych vlastně měl nějaký PHP soubor, který by mi šel jen kdybych byl online a ten udělal takový update manifestu a JSON souboru kde by byly ty data z databáze. A tím pádem bych je mohl přes JavaScript používat jen u klienta bez serveru.. Jenomže sem se teď asi 4h páral s tím JSONem a prostě mi to nejde nijak použít. Ani přes JS ani Jquery ani AJAX to nejde.. Takže nejspíš si všechny data nahraju u JS do proměný a to hodím do manifestu nebo já už nevím.
Prostě na tý stránce i v offline verzi potřebuju nějak pracovat s těma datama, generování přes JS a tak podobně.
No abys mohl ale pracovat s JS / CSS offline, tak je nutné nastavit na serveru / htaccess hlavičky pro cache! Aby prohlížeč tyto soubory uložil do paměti.
Aha, a to jak?
Koukám že sem to trochu podcenil. Jsem myslel že to bude jednodužší.
O cache u klienta se stará v apache mod_expires - http://httpd.apache.org/…expires.html.
Zobrazeno 8 zpráv z 8.