Autor | Zpráva | ||
---|---|---|---|
Jan Doležal Profil |
#1 · Zasláno: 13. 6. 2013, 19:02:13
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 |
#2 · Zasláno: 13. 6. 2013, 19:22:36
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 |
#3 · Zasláno: 15. 6. 2013, 19:34:52
Str4wberry:
Ten druhý nápad by se mi líbil víc, ale nějak nemohu najít příklad. |
||
Str4wberry Profil |
#4 · Zasláno: 15. 6. 2013, 19:51:32
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 |
#5 · Zasláno: 15. 6. 2013, 20:21:45
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 |
#6 · Zasláno: 15. 6. 2013, 20:52:34
Řeší. PHP se tak začne trápit s externím JS, až když bude celá stránka načtená.
|
||
Jan Doležal Profil |
#7 · Zasláno: 15. 6. 2013, 21:53:30
Nejdříve se odbavuje php (backend) a pak html, css ... (frontend) .... asi tě stále nechápu.
|
||
Str4wberry Profil |
#8 · Zasláno: 15. 6. 2013, 21:57:38
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 |
#9 · Zasláno: 15. 6. 2013, 21:59:41
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. |
||
Časová prodleva: 11 let
|
0