Autor Zpráva
Jan Doležal
Profil
Ahoj.

Mám stránku, kde do jednoho bloku načítám data pomocí API (json) z externího zdroje.
Problém je v tom, když externí zdroj neodpovídá (přetížený server ....), tak se má stránka načítá extrémně dlouho.
Jak toto řešit?

Představuji si načtení stránky a pak pomocí ajax/js donačít daný blok. Jenže nevím jak.
Str4wberry
Profil
Pokud jsou lepší neaktuální data než žádná, tak cacheovat na svém webu.

Jinak zamezit zpomalení stránky by šlo tak, že se data z externího zdroje načtou JavaScriptem, který bude až na konci stránky.
Jan Doležal
Profil
Str4wberry:
Ten druhý nápad by se mi líbil víc, ale nějak nemohu najít příklad.
Str4wberry
Profil
A má ta služba JS API (JSONP)? Pokud ne a data stahuje PHP, tak přímo v PHP můžete vytvořit JS kód, který zajistí výpis dat, a připojíte ho na konci stránky jako externí JS.
Jan Doležal
Profil
Str4wberry:
JS API bohužel nemá. Jenže generování JS pomocí PHP nic neřeší. Nejvíce zdržuje to, že php se stále snaží stáhnout data z api, ikdyž server neodpovídá.
Str4wberry
Profil
Řeší. PHP se tak začne trápit s externím JS, až když bude celá stránka načtená.
Jan Doležal
Profil
Nejdříve se odbavuje php (backend) a pak html, css ... (frontend) .... asi tě stále nechápu.
Str4wberry
Profil
Pointa je v tom, že stránka zavolá připojením externího JS ten náročný PHP skript až v momentě, kdy bude už načtená.
Alphard
Profil
Jan Doležal [#7]:
Str4wberry myslí načítat to asynchronně na pozadí. Prvně rychle vykreslíte stránku bez patřičných dat, která později dotáhnete.

Pokud není načítaný obsah unikátní pro jednotlivé uživatele (např. pro všechny společné RSS), lze ho ukládat u sebe na serveru a pravidelně aktualizovat cronem. Pak není s rychlostí načítání problém.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0