Mějme následující JavaScriptový kód definující jednorozměrné pole:
var myHash = new Array(); myHash[0] = 'JavaScript je'; myHash[1] = 'prostě'; myHash[2] = 'zábava.';
Mějme následující JavaScriptový kód definující jednorozměrné pole:
var myHash = new Array(); myHash[0] = 'JavaScript je'; myHash[1] = 'prostě'; myHash[2] = 'zábava.';
Google před časem přidal další možnost, jak sledovat návštěvnost pomocí Google Analytics. Tentokrát se jedná o tzv. Asynchronous Tracking.
Tento nový asynchronní měřící kód přináší oproti dřívějším verzím (urchin.js a ga.js) několik výhod:
Google doporučuje tento nový způsob sledování nasadit, dřívější verze ovšem budou nadále podporovány. Rozhodně byste ale neměli na jedné stránce používat více druhů měření.
Kód se liší především v umístění na stránce. Dřívější se dával na konec stránky, před uzavírací tag </body>. Tento nový se umísťuje před uzavírací tag </head>.
U běžných stránek (bez AJAXu) není problém. Stačí vygenerovaný Google Analytics kód vložit na každou jednotlivou stránku. Při každém zobrazení stránky se JavaScriptový kód zavolá a zaznamená návštěvu.
Problém nastane, pokud máte web postavený na technice AJAX. Protože se mění pouze určité části stránky, Google Analytics se nezavolá a vy tím přicházíte o zaznamenávání návštěvnosti – drasticky se znehodnocuje statistika.
Komprese JavaScriptových zdrojových kódů má tři hlavní výhody:
Nástrojů pro kompresi existuje mnoho, řekněme si ale alespoň o dvou nejznámějších:
Přibližně rok a půl pro vývoj PHP aplikací používám IDE prostředí Eclipse PDT. Výhody IDE nástrojů oproti aplikacím PSPad nebo Intype nebudu zmiňovat (možná příště).
V Eclipse PDT si založíte nový projekt, do kterého přiřadíte soubory. Práce s většími PHP soubory, řekněme okolo 100 kB (cca 3 300 řádků) je ale (aspoň v mém případě) problematická. Eclipse PDT nestíhá. Úpravy textu (zdrojového kódu) jsou pomalé, Eclipse PDT reaguje se zpožděním.
IntelliSense (našeptávač – doplňování kódu) taktéž reaguje se zpožděním. Zobrazení IntelliSense v takovém souboru netrvá pár milisekund, ale 2-3 vteřiny, což je pro práci zcela nepoužitelné.
NetBeans je v tomto naštěstí jiný – „takový lepší“. Hlavně tedy rychlejší. IntelliSense je svižné, stejně tak práce se soubory, úpravy, ukládání aj.
Rok a půl používání Eclipse PDT ve mně ale zanechalo i návyky, kvůli kterým je přechod ke konkurenci složitější. Upravil jsem si barevné zobrazení syntaxe (dle Eclipse PDT), prošel klávesové zkratky, stále mi ale u NetBeans několik vlastností vadí.
Následující chování NetBeans mi docela vadí:
Napadá váš řešení? Pokud NetBeans výše uvedené chování zvládá, dejte, prosím, vědět do komentářů pod článkem.
Read More
Všeho moc škodí. Aneb, čeho je moc, toho je příliš.
Někdy můžete chtít otevřit nové okno (potomka) a na jeho základě upravit obsah v rodičovském okně – to, které vyvolalo otevření potomka. Docílíte toho kouskem kódu v JavaScriptu, který můžete zavolat například v události onclick (provede se po klepnutí).
Okno JavaScriptem můžete otevřít následovně:
<a href="#" onClick= "window.open('nejaky_soubor.php', 'mywindow', 'width=970, height=700')"> Otevřít nové okno</a>
Snadno můžete nastavovat i parametry otevřeného okna. Nemá smysl zde všechny možnosti vypisovat; rovnou vás odkážu na pageresource.com.
Oblíbil jsem si kvalitní FCKeditor, se kterým je psaní a úprava textů v administraci hračka. Přestože bych mu několik drobností vytknul, tak největší problém vidím v jeho rychlosti. Ano, je rychlý, ale jeho načtení a zobrazení by mohlo být rychlejší.
Ani se to nezdá, ale FCKeditor je vyvíjen už šest let a za tu dobu si získal velkou oblibu nejen mezi uživateli, ale i vývojáři. Troufám si tvrdit, že spolu s TinyMCE patří mezi nejoblíbenější a nejznámější open-source editory.
Šest let stáří FCKeditoru je mírně znát, proto vývojáři poslední téměř dva roky pilně pracovali na další verzi, která získala nové jméno: CKeditor.
Prakticky vzato, CKeditor je pokračování FCKeditoru, takže se nenechte zmást, že by zde byl další produkt.
Vývojáři se pro změnu názvu rozhodli kvůli jeho problémové výslovnosti v anglicky mluvících zemích.
V názvu článku jsem vyjmenoval slova, která jsou strašákem nejednoho PHP programátora. Strašák to je ale pouze uměle vytvořený, vycházející z neznalosti problematiky.
Dost často se ve spojení s SQL injection (typ útoku hackera) zmiňuje PHP konstanta magic_quotes_gpc. Prý, že pokud je zapnutá, tak se dá SQL injection předejít. A víte, že od PHP 5.3 bude standardně magic_quotes_gpc vypnutá?
Znamená to, že poté budou SQL dotazy napadnutelné pomocí SQL injection? Ale vůbec ne.
Konstanta magic_quotes_gpc totiž s ochranou SQL injection nemá v podstatě nic společného. Pouze zde existuje průsečík v možnosti jejího využití. Proto ji neznalí programátoři začali přisuzovat větší váhu, než má. Váha magic_quotes_gpc je samozřejmě nulová, zvláštně, když od PHP 5.3 bude vypnutá a v PHP 6 zanikne úplně.
Vysvětleme si tedy, oč jde. SQL injection je vážný problém.
FDFDoposud jsem neznal nějaký snadný a efektivní způsob exportu HTML stránek do PDF formátu, za pomocí PHP. Ano, existuje PHP třída FPDF, ale něco v ní vytvořit mi zrovna jako efektivní nepřijde. Viz kus kódu. Pokud byste FPDF přece jen použili, mrkněte k Zaachimu na blog. Radí tam, jak na české znaky.
Nad touto třídou existuje nástavba, troufám si říct „naštěstí“. Jmenuje se mPDF a nabízí přímý export z HTML stránek do PDF za podpory UTF-8 kódování, tedy s bezproblémovou interpretací českých znaků.