Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
JavaScript
Ne(?)škodný JavaScript
22. června 1998, 00.00 | Je JavaScript opravdu neškodný? Zaměřili jsme se hlavně na práci s prohlížečem a výsledkem jsou opravdu zajímavé žertíky...
Už zase ten JavaScript, HTML a vůbec. Jako by neexistovalo nic jiného.
Pokud si říkáte něco podobného, máte pravdu. I já jsem připravoval změnu tématu ale plánovat se nemá... Přišel jeden neúspěch ve škole a vše je jinak.
Některé větší recenze se budou muset přesunout na později, týká se to hlavně C++ Buildera 3 Client/Server a Visual Age for Java. Na pořadné testování prostě není čas..
Místo toho jsem se dal do testování JavaScriptu v krajních situacích, a to hlavně z hlediska případného zneužití.
Je známým faktem, že jedna z mála možností, která se často uvádí jako možný JavaScript vir, je zahlcení uživatele otevíranými okny. O čemž se ostatně můžete přesvědčit na většině XXX stránkách.
Zaměřil jsem se na funkce, které podporuje jak NN, tak MSIE.
Výsledkem bylo zjištění, že lze udělat několik opravdu nepříjemných žertíků, ale vážnější pokusy (naštěstí) narazí na jistá omezení (např. max počet rekurzí ap.)
Za všechny jeden příklad:
Hra na babu
O co jde? Nejprve zmenšíme velikost prohlížeče, abychom získali manipulační prostor. Poté se prohlížeč náhodně umístí na obrazovku. Opakujeme n-krát.
V našem případě se tak děje 25krát, ale proč nepřidat ..
function baba() { //init self.resizeTo(200,200); //go var i,j,a,x; var sirka=window.screen.width; var vyska=window.screen.height; for (a=0; a<25; a++) { i=Math.random()*sirka; j=Math.random()*vyska; self.moveTo(i,j); } self.moveTo(0,0); self.resizeTo(sirka,vyska); }
V akci: Máš babu
Na závěr tu mám jednu perličku, která mne opravdu překvapila.
Jedná se o omezení ve funkci resizeTo, kdy v MSIE je dovolena velikost např. 1x1.
Nevěříte? Vyzkoušejte..
function smudla() { self.resizeTo(1,1); self.moveTo(Math.random()*window.screen.width, Math.random()*window.screen.height); }
V akci: Hledej šmudlo..
POZOR: Script může "rozhodit" váš prolížeč ...
Pokud svého Explorera nenajdete, klikněte pravým tlačítkem na ikonku na dolní liště a zvolte obnovit, nebo maximalizovat
V případě že vám některý ze skriptů nefungoval, máte asi lepší prohlížeč než jsem si myslel, nebo doba trochu postoupila..
Srovnání parametrů: Nastavení na pozici [0,0] Maximalizace
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007