Mondhatnám, hogy az Opera 10.50-es verziójával aktuálissá vált, de valójában 2008-ban, a Chrome megjelenésekor vált aktuálissá a weblapok címének kérdése. Vagyis a címsorba helyezett fülekkel eltűnt a Windows címsor, ahol addig az oldalak címe volt látható teljes szélességében.
A régi elrendezés még a faviconok nélküli időszakra vezethető vissza és igazából már a füles böngészés megjelenésekor kényelmetlenné vált azok számára, akik egyszerre sok lapot tartanak nyitva, ennek ellenére sok helyen még a mai napig ezt a struktúrát használják.
Az ExtendOperán egy ideje van egy tab-aliaser nevű userJS, amellyel 3 különböző módon alakíthatjuk át a weboldalak címét, avagy a TITLE részt. Az első konkrét domain, illetve aldomain esetén egy általunk meghatározott Aliast ad az oldalnak. Tehát például ennek a postnak a címét írhatjuk át vele anélkül, hogy a Magyar Opera blog főoldalát is átírnánk.
A második 2nd domain alapján alakítja át, vagyis a példában szereplő, idézőjelek között lévő "google.c" a google.com a google.ca és a google.co.akármi domainek esetén is átalakítja a TITLE mezőt az általunk "alias2"-ben megadott szövegre.
A harmadik pedig felesleges, van rá jobb megoldás, mégpedig a replace() függvény.
// ==UserScript== // @name Tab Aliaser // @description Tab Aliaser // @include * // ==/UserScript== (function(){ document.addEventListener('DOMContentLoaded',function() { document.title=document.title.replace("Weblapok címének", ""); }, false); })();
Itt a példában szereplő, két idézőjel közötti, "Weblapok címének" részt csípjük le, pontosabban cseréljük le a semmire, így ha mindent jól csináltunk, csak az "átalakítása" marad ezen az oldalon.
A két aposztróf közé írjuk be a lecsípendő részt. Ha a lecsípendő rész idézőjelet (") tartalmaz, akkor nem kell mást tennünk, ha viszont aposztrófot ('), akkor a zárójelek közötti két aposztrófot cseréljük le idézőjelekre, különben nem fog működni.
Az @include-ban a csillag helyére azokat a címeket írjuk, amiken akarjuk, hogy működjön a script, a többihez nem kell nyúlni.
A replace részt annyiszor ismételjük, ahány TITLE változtatásra szükségünk van. Tehát végső soron a kód ez:
// ==UserScript== // @name Tab Aliaser Mod // @description You can change the websites title with this script // @author bpm & Penge // @thx-to Mesmoryser & Dzsini // @download http://magyaropera.info/Javascript/tab-aliaser-unicode.js // @include * // @include http://my.opera.com/desktopteam/* // ==/UserScript== (function(){ document.addEventListener('DOMContentLoaded',function() { // if (location.href=='http://site.com/page')document.title='alias1'; // if (location.href.indexOf('google.c') !=-1) document.title='alias2'; document.title=document.title.replace("Weblapok címének", ""); document.title=document.title.replace("Opera Desktop Team - ", ""); document.title=document.title.replace("Details for torrent ", ""); document.title=document.title.replace("Téma megtekintése - ", ""); document.title=document.title.replace("A következő téma hozzászólásai: ", ""); }, false); })();
Ha az első két változatot, ami a teljes domainre érvényes is szeretnéd használni, akkor töröld ki a kód elejéről a két per jelet (//). Ha valamelyiket nem akarod használni az 5 relace-es sorból, akkor törölheted az egész sort, vagy megoldhatod, hogy a sor elejére írsz két per jelet, ezzel deaktiválod az adott kódrészletet.
Tab aliaser letöltéseAz általam módosított script pedig itt van: Tab aliaser letöltése
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
Nekomajin · http://nekomajin.wordpress.com 2010.09.02. 19:59:05
Mesmoryser 2010.09.02. 20:04:36
penge™ · http://www.thevenusproject.com/ 2010.09.02. 20:42:14
Akiknek felül vannak a fülek azoknak szintén jó, ha nem dinamikus fülszélességet használnak, illetve ha egynél több, de 30-nál nem több fület tartanak nyitva, hogy nem ezek a baromságok foglalják el. A favicon akkor nem ér semmit, ha egy fórum 10 topicja meg van nyitva és egyiknek sem látod a címét a hülye fórummotor miatt.
@Mesmoryser: Annyira egyszerűbb, hogy ha nem használsz RegExp-et, akkor eltünteti az egész title-t, illetve lecseréli teljesen az általad megadottra. Tehát dinamikus címeknél (például ahol a "A következő téma megtekintése:" állandó, de a topic címe változó, ott nem alkalmas.
Most kipróbáltam ezzel: if(document.title.indexOf("Weblapok címének")!=-1)document.title=document.title.replace("Weblapok címének","")
Az "átalakítása" nem maradt ott, mivel kéne a második két idézőjel közé egy RegExp paraméter, ami megmondja, hogy a többit ne tüntesse el.
AA slice-al viszont csak egyszerűen megszámolod a karaktereket, tehát olyan valaki is meg tudja csinálni, aki nem ért a JavaScripthez.
Mesmoryser 2010.09.02. 21:23:05
penge™ · http://www.thevenusproject.com/ 2010.09.02. 22:17:52
Mesmoryser 2010.09.02. 22:33:17
Dzsini 2010.09.02. 22:33:40
penge™ · http://www.thevenusproject.com/ 2010.09.02. 22:51:42
penge™ · http://www.thevenusproject.com/ 2010.09.02. 22:54:40
MosoMasa 2010.09.02. 23:08:56
Fefy · http://blog.fefy.info/ 2010.09.02. 23:18:26
off: nézted azóta a progit? (még mindig a régi linket kell használni)
Fefy · http://blog.fefy.info/ 2010.09.02. 23:21:16
penge™ · http://www.thevenusproject.com/ 2010.09.02. 23:56:47
@Fefy: Igen néztem és már kint is van: magyaropera.blog.hu/2010/08/24/userjs_telepitese
A forrást még közzétehetnéd valahol, akkor írnék egy postot a My Operára is, hátha felkapják EspenAO-ék és kirakják a Choose Operára, ahol több embert is elér.
Amúgy rájöttem mi volt a hiba. ANSI kódolású volt és nem szerette az ékezetet (és az a buta Notepad csak ő és ű betűnél szól, amiből előzékenyen o és u betűket csinál).
Na mindegy, mától Notepad++-t használok. Már ideje volt.
Fefy · http://blog.fefy.info/ 2010.09.03. 01:11:04
Nekomajin · http://nekomajin.wordpress.com 2010.09.03. 03:13:08
Dzsini 2010.09.03. 06:48:03
ajánlom figyelmedbe a függvény elején szereplő "if" szócskát: javascript:_if_(document.title.indexOf('Opera Desktop Team - ') !=-1)document.title = document.title.slice(22);"
HA benne van ez a rész, AKKOR történjen meg a vágás. ez két utasítás, amit egymás után kell végrehajtani. Replace-t használva nincs szükség az IF részre, hanem simán rá lehet ereszteni a címre, ha nincs benne nem fog ártani neki.
(regexp-el még elegánsabb lenne, mert a kis-nagybetűket egyszerre le lehetne kezelni, viszont az átlag felhasználó nem tudná könnyen szerkeszteni. Ellenben lehetne egy tömböt csinálni, amibe be lehet írni a nem szükséges karakterláncokat, és a scriptben egy ciklussal csak azokon kell végigrohanni)
Mesmoryser 2010.09.03. 13:19:44
És ahogy Dzsini mondja, tök fölösleges az ellenőrzés, hát még slice()-al bajlódni. A slice akkor lenne jó, ha nem tudnánk, hogy mit akarunk levágni. Például ha a "Weblapok címének átalakítása - Magyar Opera" címből csak a Magyar Operát akarnánk meghagyni (és nem akarunk RegExpet használni), akkor slice-al is meg lehet csinálni, de gondolom nem ez a cél, hanem pont a post címét akarjuk meghagyni, tehát a statikusat törölni. Arra meg legegyszerűbb a replace().
Én ezt az egész túlbonyolított, értelmetlen postot törölném és újraírnám 5 sorban, érthetően.
penge™ · http://www.thevenusproject.com/ 2010.09.03. 16:26:46
2: A kód ott volt, a UserJS pedig vagy működik vagy nem. A működik azt jelenti, hogy azt csinálja, amit a kód alapján kell neki, a nem működik pedig (részletezés nélkül) azt jelenti, hogy konkrétan nem csinál semmit.
A félig működik viszont valóban részletezésre szorul.
A postot javítottam.
Dzsini 2010.09.03. 16:53:00
kérdés: miért nem veszi észre az UJS Manager unite app, ha egy .js-t nyitok meg? régen becsúszott felül a 'szeretnéd telepíteni?' kérdés, most meg kuka. próbáltam törölni-újratelepíteni az appot, törölni az appdatából is és úgy újratelepíteni...
penge™ · http://www.thevenusproject.com/ 2010.09.03. 17:03:52
Dzsini 2010.09.03. 17:11:45
ahogy beleolvastam még működnie is kellene, ha *.js*-ot talál.
a többi scriptem gond nélkül működik, csak ez nem... nem értem :(
penge™ · http://www.thevenusproject.com/ 2010.09.03. 17:29:38
Mesmoryser 2010.09.03. 17:30:34
desktopteames @include sor fölösleges
"Weblapok címének" csere ugyancsak ne maradjon benne egy végleges kódban
Mutassuk meg a replace()-ben rejlő lehetőséget, például egy ilyen sorral:
document.title=document.title.replace(" - Wikipedia, the free encyclopedia", "Wikipedia-en");
(ebből látszik, hogy nem csak törölni lehet replace-el, és praktikus is, mert azonnal látszik, hogy az angol wiki van a tabon)
penge™ · http://www.thevenusproject.com/ 2010.09.03. 17:45:18
Dzsini 2010.09.03. 18:07:23
annyira viszont nem értek a Javascripthez, hogy megtaláljam miért nem működnek együtt, az autopagerize túl bonyolult :( valaki?
Dzsini 2010.09.03. 18:10:13
penge™ · http://www.thevenusproject.com/ 2010.09.03. 18:31:24
Mert én is használom és nálam nem kavar be. A SITEINFO pedig kb óránként frissül.
Dzsini 2010.09.03. 18:59:20
Nekomajin · http://nekomajin.wordpress.com 2010.09.05. 14:15:01