HTML5 a spouštění skriptů
Specifikace HTML5 se zaměřuje i na spouštění skriptů ve stránce. Zmíním dvě zajímavosti týkající se spouštění skriptů.Atributy defer a asyncV HTML4 byl u značky script definován atribut defer, který umožňuje prohlížeči pokračovat ve zpracovávání dokumentu, aniž by musel čekat na proběhnutí daného skriptu (skript ovšem nesmí měnit stránku během načítání, výsledek by pak byl nepredikovatelný). Specifikace bohužel již nijak neříká, kdy přesně má být skript spuštěn.Atribut defer zatím implementuje pouze Internet Explorer, ale tato implementace je považován za "nekonzistentní" (nekonzistentní uvádím v uvozovkách, jelikož specifikace chování nepopisuje, nelze žádné chování označit za správné či nikoliv).Pro vyřešení situace HTML5 u značky script zavádí dva atributy defer a async. Oba slouží podobnému účelu, ovšem zatímco:skript označený jako async bude spuštěn, jakmile je dostupný (Zpracování stránky se u značky skript nezastaví, pokračuje dále a skript je spuštěn, jakmile se načte, tedy v nepredikovatelnou dobu.)skript označený jako defer bude spuštěn až v momentě, kdy se dokončí zpracování (parsování) celé stránky (Tedy v predikovatelnou a vždy stejnou dobu. Specifikace hovoří o dokončení parsování stránky, prohlížeč tedy v tu dobu může stále ještě načítat další zdroje, např. obrázky.)Autoři webových aplikací by mohli správným použitím těchto atributů načítání stránek urychlit. Za zmínku stojí, že vývojáři WebKitu jsou trochu jiného názoru. Místo, aby vývojáři do svých stránek museli vkládat jeden atribut async za druhým, snaží se problém řešit i na straně prohlížeče.Událost dokončení načítání stránkyDruhá zajímavost se týká událostí načtení stránky. Klasická událost load totiž vždy nestačí, ta je totiž vyvolána až v momentě kompletního načtení celé stránky. Pokud webová stránka obsahuje veliké obrázky, čeká událost load na jejich načtení.To je často v rozporu s požadavky uživatelů i vývojářů (když se vám načítá stránka s galerií, je žádoucí, aby její vrchní část fungovala nezávisle na spodní části, do které se stále ještě načítají další fotografie).Jednoduché řešení fungující ve všech prohlížečích neexistuje, a proto byla vymyšlena celá řada triků, jak toho docílit.HTML5 specifikuje událost DOMContentLoaded, která je vyvolána právě v kýženém momentu - tedy hned po zpracování celé stránky. V tuto chvíli ji podporuje trojka prohlížečů S.O.F. (Safari, Opera, Firefox), v IE lze emulovat některým z odkázaných triků.
Specifikace HTML5 se zaměřuje i na spouštění skriptů ve stránce. Zmíním dvě zajímavosti týkající se spouštění skriptů.Atributy defer a asyncV HTML4 byl u značky script definován atribut defer, který umožňuje prohlížeči pokračovat ve zpracovávání dokumentu, aniž by musel čekat na proběhnutí daného skriptu (skript ovšem nesmí měnit stránku během načítání, výsledek by pak byl nepredikovatelný). Specifikace bohužel již nijak neříká, kdy přesně má být skript spuštěn.Atribut defer zatím implementuje pouze Internet Explorer, ale tato implementace je považován za "nekonzistentní" (nekonzistentní uvádím v uvozovkách, jelikož specifikace chování nepopisuje, nelze žádné chování označit za správné či nikoliv).Pro vyřešení situace HTML5 u značky script zavádí dva atributy defer a async. Oba slouží podobnému účelu, ovšem zatímco:skript označený jako async bude spuštěn, jakmile je dostupný (Zpracování stránky se u značky skript nezastaví, pokračuje dále a skript je spuštěn, jakmile se načte, tedy v nepredikovatelnou dobu.)skript označený jako defer bude spuštěn až v momentě, kdy se dokončí zpracování (parsování) celé stránky (Tedy v predikovatelnou a vždy stejnou dobu. Specifikace hovoří o dokončení parsování stránky, prohlížeč tedy v tu dobu může stále ještě načítat další zdroje, např. obrázky.)Autoři webových aplikací by mohli správným použitím těchto atributů načítání stránek urychlit. Za zmínku stojí, že vývojáři WebKitu jsou trochu jiného názoru. Místo, aby vývojáři do svých stránek museli vkládat jeden atribut async za druhým, snaží se problém řešit i na straně prohlížeče.Událost dokončení načítání stránkyDruhá zajímavost se týká událostí načtení stránky. Klasická událost load totiž vždy nestačí, ta je totiž vyvolána až v momentě kompletního načtení celé stránky. Pokud webová stránka obsahuje veliké obrázky, čeká událost load na jejich načtení.To je často v rozporu s požadavky uživatelů i vývojářů (když se vám načítá stránka s galerií, je žádoucí, aby její vrchní část fungovala nezávisle na spodní části, do které se stále ještě načítají další fotografie).Jednoduché řešení fungující ve všech prohlížečích neexistuje, a proto byla vymyšlena celá řada triků, jak toho docílit.HTML5 specifikuje událost DOMContentLoaded, která je vyvolána právě v kýženém momentu - tedy hned po zpracování celé stránky. V tuto chvíli ji podporuje trojka prohlížečů S.O.F. (Safari, Opera, Firefox), v IE lze emulovat některým z odkázaných triků.
Související články
Nedávno jsem narazil na suPHP, je to výborná věc k zabezpečení servru. Jeho konfigurace není nijak složitá a nezaregistroval jsem ani žádné významné zpomalení.

30. srpna 07, 12:08
abclinuxu - blogy
Tak jsem se mrknul na statistiky a na zátěž webhostingového serveru. Docela jsem se lekl
V průběhu používání *uxu jsem zjistil, že používám stále stejnou sadu užitečných postupů při tvoření BASH skriptů.

27. května 08, 01:05
abclinuxu - blogy
Jak zjistit slabá místa v PHP skriptech? Práce s nástroji ab (apacheBench) a Siege. Výkon webové aplikace při zatížení, ladění aplikace a testování. Dotazy do databáze, zrychlení SQL dotazůKategorie: ITPokračovat ve čtení článku Ladíme výkon PHP skriptů apache(c) Oldřich Šálek Mozektevidi.net
V PHP 6 dojde k odstranění safe módu spolu se všemi souvisejícími direktivami včetně safe_mode_exec_dir.
Přestože se vždy snažím přímému spouštění programů z PHP vyhnout (nebo ho rovnou zakázat pomocí disable_functions=shell_exec, ...

6. dubna 07, 04:04
PHP triky
Stručně navážu na nedávnoý článek GZipování podruhé: skripty a styly, kde jsem zveřejnil svůj způsob komprese externích CSS a JS souborů a na základě podnětných připomínek z komentářů ho podstatně vylepšil. Byl napůl vysloven problém s kešováním …

24. prosince 07, 12:12
Weblogy.cz
Emulace CD a DVD na počítači není snadná věc, je potřeba napsat low-level driver, který ošálí většinu her a jejich bezpečnostních systémů tak, že se budou domnívat, že onen virtuální.. (355 slov)
Jeden jediný program, ze kterého kdykoli a lehce spustíte jakoukoli hru na svém počítači, kterou zde zaevidujete a popíšete.

14. října 07, 12:10
Živě.cz
Zdravím, udělal jsem si jednoduchý program, konkrétně nastavení rozlišení LVDS a VGA (až vyřeším problémy, postnu ho), rád bych ho spouštěl přes FN+F7 (Thinkpadí tlačítko), což bych rád zařídil přes acpid.

22. prosince 07, 12:12
abclinuxu - blogy
V nedávných dnech se podařilo zase velice rázně postoupit v uvádění do provozu urychlovače LHC. Začalo vstřikování protonů z předurychlovače do samotného urychlovače...

28. srpna 08, 02:08
OSEL.cz
Panel pro spouštění aplikací je součástí každé instalaci Windows, stačí si na toolbaru zvolit zobrazení panelu nástrojů "Snadné spouštění". Pokud těch aplikací ovšem chcete mít víc než zhruba 10, je nutné se poohlédnout po něčem, co není integrováno s Windows toolbarem,.. (203 slov)
V jednom z minulých newsletterů Arch Linuxu jsem narazil na odkaz týkající se zrychlení startu Arch Linuxu. Rozhodl jsem se něco podobného také zkusit. Dnešní odpoledne jsem tedy strávil úpravou inicializačních skriptů a měřením rychlosti startu.
Pokusy jsem prováděl na svém starém notebooku (Pentium 4M 1,7 GHz, 256 MB RAM). Mám tu nainstalovaný aktuální Arch Linux doplněný o E17. Dosavadní nastavení systému týkající se ...

15. června 08, 10:06
abclinuxu - blogy
Pokud vás obtěžuje automatické spouštění zbytečných aplikací po startu operačního systému Microsoft Windows, existuje snadné řešení. Jmenuje se Autoruns . Aplikace Autoruns , nově ve verzi 9.33 , se vyznačuje svojí malou velikostí (cca 630 kB), vysokou rychlostí , přehledností a efektivitou ...

23. srpna 08, 01:08
Živě.cz
Na stránkách věnových mapám pokrytí jednotlivých zemských digitálních multiplexů si můžete na DigiZone.cz prohlédnout aktuální tabulky s termíny spouštění jednotlivých vysílačů u digitálních sítí 1 (veřejnoprávní multiplex provozovaný Českou...

13. října 08, 03:10
DigiZone.cz
Česká televize uvolnila aktualizovaný harmonogram vypínání analogových kmitočtů programu ČT 2 pro letošní rok, odchodu svých čtyř kanálů z přechodné digitální sítě A a termíny spouštění veřejnoprávního multiplexu v jednotlivých oblastech České republiky. Přinášíme vám je v přehledných tabulkách, které serveru DigiZone.cz poskytl vedoucí projektu digitalizace ČT Pavel Hanuš. Jižní a střední Čechy přijdou o analogovou ČT 2 poslední zářijový den, Praha 24. října a Plzeňsko a Sušicko posledního října.

1. září 08, 12:09
DigiZone.cz
(Několik prvních příspěvků blogu je antedatovaných, napsal jsem je ještě před založením blogu.)Maciej Stachowiak (vývojář Safari a člen WHATWG) 9. dubna zasílá do HTML WG listu žádost o adopci specifikace HTML5, dosud připravované pod křídly WHATWG. Pod dopisem jsou podepsaní i lídé z Opery a Mozilla Foundation. Stalo se tak měsíc po založení HTML WG (7.3.), pravděpodobně se čekalo na zapojení druhého předsedy Chrise Wilsona, ke kterému došlo až 4. dubna.V dopise se žádá, aby HTML WG převzala kompletní stávající specifikaci jako svůj výchozí bod a prohlásila Iana Hicksona jejím editorem (Ian má o specifikaci dobrý přehled, jelikož ji dosud editoval).Nastává moment napětí. HTML WG čítá cca 300 členů a dva předsedy. Jaké zaujmou stanovisko?Objevuje se řada reakcí typu "ano, super, +1", také několik reakcí negativních a otázka editorství Iana Hicksona.Odpověděl i předseda Chris Wilson, ale pouze:So that everyone understands why your co-chairs aren t responding - Dan had an accident this past weekend and injured his eye.He may be out of commission for a day or two. I will work on response, of course.Žádný náznak, jak se k situaci staví. Pokračování tohoto tématu sledujte pod štítkem adopce.

25. dubna 07, 10:04
HTML 4 5 6...
Zajímáte se o situaci okolo vznikajícího HTML5? Pokud čtete tento blog, pak odpověď pravděpodobně zní ano.Chcete vědět víc? A bez pracného hledání?Pak sledujte Planet HTML5.Včera vzniklý agregátor Planet HTML5 sleduje blogy píšící o HTML5. V tuto chvíli více jak polovina z nich patří členům WHATWG, jak časem poroste zájem o HTML5, přidají se další blogeři a skóre se vyrovná.Agregátor zřídil Michael Smith z W3C.

31. května 07, 06:05
HTML 4 5 6...
Henri Sivonen před několika minutami oznámil zahájení práce na HTML5 parseru v Javě.There s now a limping development version of an HTML5 parser in Java that interested parties may try out:svn co http://svn.versiondude.net/whattf/htmlparser/trunk/ htmlparserWarning: This isn t at all ready for any kind of production use. The purpose of this email is just to let interested parties know the status of the project.Goals:Provide an HTML5 parser that works as a drop-in replacement for an XML parser in non-browser Java apps that expect XML APIs. Make the parser strict enough for conformance checking (including encoding errors, etc.).License:MIT/expat. Patches welcome under the same license.Acknowledgments:Thanks to the Mozilla Foundation for funding this project. Thanks to the html5lib team and Philip Taylor (of the lazyilluminati fame) for test cases and bug reports.Po projektu html5lib, který je v Pythonu a v pokročilém stádiu vývoje, se jedná o druhý připravovaný HTML5 parser. Oproti klasickým HTML parserům, které jsou k dispozici prakticky pro každý programovací jazyk, HTML5 parsery implementují relativně obsáhlou část specifikace HTML5 (bod 8) která pojednává i o neobvyklých stavech včetně toho jak parsovat tag soup.

11. červenece 07, 06:07
HTML 4 5 6...
HTML5 parser bude i pro PHP. Objevily se dva projekty, které se o implementaci snaží. V tuhle chvíli jsou na úplném začátku a nemá cenu je ještě zkoušet, pomalu rostou na adresách:http://php-html5lib.dashslot.net/svn/trunk/http://geoffers.no-ip.com/svn/php-html-5-direct/src/trunk/Uvidíme, zda se autoři spolu dohodnou a vytvoří jeden projekt, nebo budou pokračovat každý sám.Zdroj: #whatwg

12. červenece 07, 06:07
HTML 4 5 6...