Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.
Psal jsem, že sportovní přenos online má mít automatické obnovování a skóre v titulku. Ale když nemá, dá se to snadno dodělat.
Typickou ukázkou jsou (fotbalové) online přenosy na iDNES. Ty postrádají jak automatické obnovení (znovunačtení stránky), tak informaci o skóre v titulku (element <title> v hlavičce).
S automatickým obnovením se lze vypořádat snadno, dokonce pomocí čistého HTML. Obnovení se zajišťuje pomocí tagu meta v hlavičce stránky (v uvedeném příkladu se bude stránka obnovovat každých 60 sekund):
<meta http-equiv="refresh" content="60">
Pak stačí vytvořit novou HTML stránku, v hlavičce takto nastavit automatické obnovení a původní stránku s online přenosem zahrnout do elementu iframe. Stránka se po určité době načte znovu, a tím se načte znovu i vkládané online (pokud se náhodou nekešuje, ale to musí zajistit administrátor online a bývá to v pořádku).
<iframe src="http://fotbal.idnes.cz/db_fotbal.asp?online=7031631" align="left" frameborder="0" width="700" height="500" scrolling="yes"></iframe>
(Tag se samozřejmě zapisuje vcelku, tady je v něm zalomený řádek jen kvůli místu. Totéž dále.)
Iframe má ten problém, že se jeho rozměry nedají nastavit dynamicky podle rozměrů vkládané stránky. Takže buďto si musíme stanovit rozměry napevno podle velikosti naší volné plochy prohlížeče, anebo můžeme využít javascriptových metod document.body.clientWidth a screen.availHeight a tag iframe zapsat Javascriptem (nezapomeneme samozřejmě uvést element <noscript> a zapsat do něho iframe klasicky jako výše):
document.write('<iframe src="http://fotbal.idnes.cz/db_fotbal.asp?online=7031631" align="left" frameborder="0" width="' +(document.body.clientWidth-10)+'" height="'+(screen.availHeight-150)+'" scrolling="yes"></iframe>');
Ta odečítaná čísla 10 a 150 jsou empirická, nepřišel jsem na to, jak to udělat úplně přesně. Dá se s tím ještě pohrát.
Jinou možností automatického obnovení je načíst pomocí serverového skriptu kód celé stránky s online přenosem, na serveru do něho na vhodné místo vložit tag meta a odeslat uživateli. Tím pádem se bude stránka jevit jako zcela totožná, pouze se navíc bude obnovovat. Toto řešení ovšem zvyšuje zátěž našeho analyzujícího serveru a zvyšuje i objem přenesených dat s tímto serverem – řešení pomocí iframe naopak zatěžuje pouze server s online přenosem.
V 2. části si ukážeme, jak dostat do titulku stránky aktuální skóre. Na závěr bude k dispozici i hotový PHP skript.
Další články si můžete vyhledat v jednotlivých přihrádkách, případně podle data.
© Honza Hučín 2004–6
Šuplík běží na PIPNI.CZ. Díky!
8. 8. 16:48 | Pepa
7. 8. 21:26 | Honza Hučín
7. 8. 21:02 | Honza
6. 8. 14:29 | Pepa
3. 8. 18:29 | Honza
*1967, absolvent MFF UK v Praze (1991)
statistik, analytik, programátor, učitel, hudebník