Ne(?)škodný JavaScript - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

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

Tématické zařazení:

 » Rubriky  » JavaScript  

 » Rubriky  » Web  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: