Kommentár nélkül...

Kommentár nélkül...
A most bemutatott userJS jelenleg még béta állapotban van és csak azért teszem közzé, mert a fejlesztője, Baldric, időhiányban nem tudja folytatni.
De előbb egy kis magyarázat, mire is jó ez az egész. Az RSS-t remélhetőleg mindenki ismeri. Egy nagyon jó idő, sávszélesség és idegrendszer kímélő megoldás, amivel egy központi kliensben, például az Opera beépített RSS olvasójában megkapjuk a híreket, amikre feliratkoztunk egy kattintással.
Sajnos napjainkban nem örvend túl nagy elterjedtségnek, aminek az ismertség hiánya lehet az oka, elvégre egy forradalmi megoldásról van szó.
Éppen emiatt elég kevés helyen alkalmazzák és ahol alkalmazzák ott is általában csak egyszerűen a hírekre, esetleg még a kommentekre (mint itt), de nem használják ki a specifikációban rejlő lehetőségeket.
Erre még rátett egy lapáttal az Internet Explorer, Firefox és Safari részleges implementációja, amivel a könyvjelzők szintjére degradálták le ezt az XML lehetőségeivel bíró szabványt. A Google nem is tartotta fontosnak az implementációt a böngészőjébe.
De mielőtt nagyon eltérnék a tárgytól, lényegében emiatt van szükség olyan megoldásokra, mint a címben szereplő két kiegészítő és mivel ezek egyike sem létezik Operára, ezért van szükség a cikk további részében bemutatott userJS-re, ami sok szempontból még fejlettebb is, mint a fenti két megoldás, habár felhasználóbarátnak nem igazán mondható, de mint említettem, még csak béta.
Működése:
Használata:
Go to page, "javascript:forumAlert.on_off(); void 0"
opera:webstorage
oldalon tudjuk törölni a domainhez tartozó rekordokat. Ugyanez törlés nélkül is működik, ha a fent említett parancsot újra kiadjuk és kijelölünk valami mást, ami felülírja a korábbit.Unite:
forumAlert.domain = '';
erre: forumAlert.domain = 'http://admin.home.NEVED.operaunite.com';self.setInterval(refresh,300000);
-tEz az írás nem lesz olyan hosszú, mint a korábbiak és részben a 11.10 által bevezetett display:none módosítás kapcsán jött létre.
Akik követték az eseményeket, tudják miről van szó, akik nem, azoknak pár mondatban: Az Opera a kompatibilitás növelése érdekében a 11.10-ben megváltoztatta a működését a CSS display tulajdonság esetében.
Az ajánlás nem tér ki minden részletre, mint például arra, hogy be kell-e tölteni az elrejtett tartalmakat addig, amíg azok meg nem jelennek az oldalon. A többi böngésző fejlesztői úgy gondolták, hogy igen. Ez azt okozta az évek során, hogy sokan kényelemből, sokan JS tudás hiányában olyan esetekben alkalmazták a display:none szabályt, amikor nem kellett volna.
A probléma inkább esztétikai jelentőségű volt, vagyis ilyenkor az Operában, az egyetlen olyan böngészőben, ami nem töltötte be a display:none tulajdonsággal ellátott tartalmakat, elkezdtek villogni, mivel akkor töltötte be, amikor az adott eseményre (például mouseover) megváltozott az elem display tulajdonsága.
A két legszembetűnőbb példája, hogy mikor egy menü fölé vittük az egeret az vagy 1-2 másodperc késéssel jelenítette meg az animációt az első alkalommal, illetve áttűnős diavetítést tartalmazó oldalakon az első alkalommal a képrenderelést (felülről lefelé) láttuk a képváltáshoz társított effektus helyett.
Az előnye viszont a csökkent adatforgalom és ennél fogva csökkent betöltési időn túl az volt, hogy CSS szabályokkal el lehetett rejteni a reklámokat, így bizonyos esetekben sokkal egyszerűbb volt a dolgunk, habár a megbízható tartalomblokkolás továbbra is az urlfilter.ini maradt.
Ezt a lehetőséget kezdetben (8.x verziók körül) még csak UserCSS-vel lehetett kihasználni, utána Lex1 készített egy hibrid megoldást, végül pedig a Local Storage bevezetésével megszületett a NoAds, először userJS, később kiegészítő formájában.
Azóta megjelent a sokkal hatékonyabb URL Filter API is és az arra épülő megoldások, mint az Opera Adblock De sajnos az URL Filter korlátai megmaradtak, vagyis a RegExp hiánya és a element alapú blokkolás hiánya.
Viszont itt jön képbe Dither, aki elkészítette a NoAds Advanced 1.2.1b-t, ami nem pótolja az elveszett display:none
-t, de az URL Filter API-nak köszönhetően legalább egy részét visszakapjuk a korábbi lehetőségeinknek.
Változások, a NoAds óta:
MagicFunction/MagicVariable példák:
##var GTracking ##var NO_msnads ##function poker_pp ##function print_download_ads ##function trackEvent ##function trackPageView ##function trackPageViewCustom ##function wmx_counter ##function wmx_track ##function wtslog
Mi az ismerős a képen?