[ bzero @ 04.08.2006. 11:49 ] @
Redovno posećujem b92.net, ali odnedavno se pojavila jedna stvar koja me strašno nervira. To je neka glupava flaša koka kole, koja izleće pravo niotkud, zatim mi kruži neko vreme ispred nosa i onemogućava čitanje vesti i korišćenje sajta uopšte. Inače imam pozitivno mišljenje i o b92 i o koka koli, i nemam pojma kako im je pala na pamet ovako glupava reklama, jer to, čini mi se, ne doprinosi baš ugledu ni jednih ni drugih (annoyances, annoyances...), ali to je već druga tema. Meni je bilo najvažnije kako se reštiti te napasti. Ovo je rešenje koje je namenjeno Operi, a pored toga što uklanja glupavu reklamu, pokazuje kako se vrlo lako i elegantno, uz pomoć javascripta i korišćenjem nekih mogućnosti Opere, može "kastomizovati" svaki sajt. U firefoxu se za ovakve stvari mislim koristi GreaseMonkey (nisam siguran, jer ne koristim FF već neko vreme), a za razliku od Firefoxa gde je potrebno instalirati extenziju, ova mogućnost je već ugradjena u Operu. U Operi postoji nešto što se naziva "Site preferences" i generalno omogućava potpunu kontrolu šta će i kako biti prikazano na konkretnom sajtu. Npr, otvori se neki sajt u browseru, iz menija se izabere "Tools > Quick Preferences > Edit site preferences..." i za taj sajt može da se podesi apsolutno sve, pop-up bloker, kukiji, da li da se prikazuju slike, java, frejmovi, itd, itd... Napomena je da ono što se podesi ovde važi samo za taj sajt i nema veze sa generalnim podešavanjima i ne utiče na to kako se prikazuju ostali sajtovi. U prozoru "Site preferences" postoji i tab "Scripting" u kome se podešavaju razne opcije vezane za javascript, zadnja je upravo ono što mi je trebalo, a to je "User JavaScript files", koja omogućava da se doda neki sopstveni javascript, koji će se izvršavati pored skripta koji već postoji na sajtu. Za slučaj "kokakolizovanog b92" postupak je sledeći: 1. Napravi se direktorijum negde na računaru i nazove se, npr. "b92". Najbolje je napraviti novi, prazan direktorijum i u njega će se stavljati skripte. 2. Kratkim pregledom sorsa b92.net, lako se nadje da je za mrdanje flaše odgovoran script "floating_bottle.js", u kome se nalazi par funkcija, a kritična funkcija je "prStart(cookieName)" koja aktivira celu stvar. Praktično rešenje je da se onemogući ova funkcija, tj, zameni sopstvenom. To se može uraditi tako da napravi se jedan .js fajl i u njega stavi sledeći kod: Code: window.opera.defineMagicFunction('prStart', function () { return 0; }); ovaj fajl se snimi u direktorijum koji je napravljen gore, npr. kao "block_bottle.js". defineMagicFunction je posebna funkcija da "overriduje" globalne funkcije definisane regularnim skriptama koje već postoje na sajtu i ima dva parametra, prvi je naziv funkckije koju treba zameniti, a drugi implementacija funkcije (u ovom slučaju ne radi ništa, samo vraća nulu). Na sličan način moguće je uticati i na promenjive funkcijom defineMagicVarijable, a postoje i druge korisne funkcije. 3. Izabere se iz menija "Tools > Quick Preferences > Edit site preferences...", otvori se tab "Scripting" i kod "User JavaScript files" sa "Choose..." izabere direktorijum koji je napravljen i u koji je snimljen gornji skript. Od sada svaki put kada se otvori b92.net izvršavaće se i js iz ovog direktorijuma. I to je to, za samo par minuta, nema više nikad dosadne leteće flaše... Korisni linkovi: Take Control with User JavaScript - uvod, funkcije i primeri: http://www.opera.com/support/tutorials/userjs/ http://www.opera.com/support/tutorials/userjs/specs/ http://www.opera.com/support/tutorials/userjs/examples/ |