Ez a számláló a poszt nézettségét mutatja. Mindenképp olvasd el ezt a posztot a részletekért.

UserJS részletek

penge™ | 2010. augusztus 24.

A UserJS-ek, avagy userscriptek olyan JavaScriptben íródott fájlok, amely a böngészőn belül futnak le. Képes mindenre, amire a JavaScript és még további funkciókra is, mint események detektálása (eventLister), változók és függvények készítése és az oldal sütijeinek olvasása, továbbá képes felülírni a weboldalakon lévő eredeti scripteket.

Konyhanyelven fogalmazva tehát egy weboldalon belül (kliensoldalon) szinte bármit módosíthatunk anélkül, hogy az eredeti weboldal tartalmát módosítanánk.

Amikre gyakran használják:

  • Javítanak egy-egy hibás weboldalt, lásd még: browser.js
  • Kiterjeszteni egy weboldal funkcionalitását, felhasználóbarátabbá tenni a kinézetét és egyéni tartalmakat hozzáadni.
  • Kontrollálni a többi scriptet, melyek futhatnak le és a lefutó scriptek miket tehetnek meg és mit nem. Tehát például káros, vagy felesleges scripteket szűrhetünk vele.
  • Bookmarkletek, amelyek könyvjelzőként vagy sajátgombként elmentett JavaScript kódok, amik javascript:-tel kezdődnek a hagyományos http:// helyett.

Az Operás userJS-ek alapértelmezésben nem működnek HTTPS oldalakon. Ehhez az opera:config-ban be kell kapcsolni a következőt: opera:config#UserPrefs|UserJavaScriptonHTTPS

Ilyenkor, a 9.5 óta tartó végzetes hullámnak köszönhetően minden újraindítás után az első HTTPS oldalra érkezve feldob egy dialógust, ahol Igennel és Nemmel el lehet dönteni, hogy biztosan akarjuk-e futtatni a userJS-eket. Szerintem egyszerűbb lett volna egy állapotsávon elhelyezett checkbox, de hát ez van. Rafal talán készít 10.6x/10.7x verziókkal kompatibilis patch-et.

A scriptek normál esetben tehát minden weboldalon lefutnak. Ezt megelőzendő Operában 3 különböző lehetőségünk van.

1: Jobbklikk->Webhely tulajdonságainak szerkesztése->JavaScript és innen kitöröljük a UserJS könyvtárat. Ehhez tartozik még egy igényesebb, viszont körülményesebb megoldás, mégpedig a profilunkban lévő override.ini fájlba az oldalhoz tartozó oldalspecifikus információk alá beszerkesztjük a következő sort:

User Prefs|User JavaScript=0

2: Megnyitjuk a userJS fájlt egy szövegszerkesztőben, mondjuk Wordpad vagy Jegyzettömb és a tetején lévő részt (header) szerkesszük:

// ==UserScript==
// @name A UserJS neve
// @author A UserJS szerzője
// @version 1.3.10
// @description A UserJS funkciójának leírása pár szóban.
// @exclude http://example.com/*
// @ujs:documentation http://a_dokumentacio.utvonala.com
// @ujs:download http://example.com/userjs/userjs_neve.js <- A letöltési könyvtár
// ==/UserScript==

Számunkra az @include és az @exclude részek a fontosak. Az @include azt jelenti, hogy az ott felsorolt oldalakon lefut a script. Alapértelmezésben minden oldalon lefut. Az @exclude pedig azt jelenti, hogy az ott felsorolt oldalakon nem fut le a UserJS.

Ha tehát azt szeretnénk, hogy az example.com oldalon ne fusson le, akkor a következőt tesszük:

// @exclude http://*example.com/*

Ha azt szeretnénk, hogy csak az example.com oldalon fusson le, akkor pedig ezt:

// @include http://*example.com/*
// @exclude *

Ha csak egy bizonyos aloldalán nem szeretnénk, hogy lefusson, akkor az aloldalakat adjuk meg, például:

// @exclude http://example.com/content/post_edit/*

A csillag (*) helyettesítő karakter, tehát a helyén bármi lehet 0-tól korlátlan hosszúságig és bármilyen karakter, beleértve betűt és számot. A http:// után azért érdemes tenni egyet, mert sok oldal működik www.example.com és example.com formában is, valamint (például akár itt a blog.hu-n is) blogneve.blog.hu a blogok címe, tehát ha egyúttal a blog.hu-ra is akarjuk alkalmazni, nem csak egyes blogokra, akkor a *blog.hu jobb, mint a *.blog.hu, mivel a sima blog.hu mögött nincs pont.

A sorrend mindegy, a lényeg, hogy a // ==UserScript== és a // ==/UserScript== között legyen és a két perjel és a szóköz ott legyen a @include vagy @exclude előtt. Az utána következő webcímeket egy sima szóközzel és tabulátorokkal is elkülöníthetjük, hogy design-os legyen a userJS-ünk szerkezete.

3: Globálisan tiltjuk le az összeset a UserJS Manager nevű Unite alkalmazással egy kattintással, vagy simán megfogjuk fájlkezelőben a userjs könyvtárat és áthelyezzük egy másik mappába arra az időre, amíg nem szeretnénk userJS-eket futtatni sehol.

3+1: Módosított F12-es gyorsmenüből:
http://magyaropera.blog.hu/2009/11/21/turbozd_fel_a_menudet

Hogy pár gyakorlati példát is hozzak: Hasznos felhasználói JavaScriptek Operához

Jelenleg eléggé szétszórva találhatók Operás UserJS-ek, az ExtendOpera.org talán az egyik legnagyobb és jelenleg is aktív userJS adatbázis Operához. Van még a userjs.org, amely már sajnos évek óta nem aktív, de azért még néhány működő userJS található rajta. A userscripts.org Greasemonkey script gyűjtemény, ezekből sajnos elég sok nem működik Operával, de azért ott is található néhány működő.

A bejegyzés trackback címe:

http://magyaropera.blog.hu/api/trackback/id/tr902245096

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.

Nincsenek hozzászólások.

Gyakran Ismételt Kérdések

Hozzászólások

Keresés

Címkék

10.5 (32) 10.6 (28) 10.7 (17) 11 (23) 11.10 (21) 15 (8) 17 (8) ajánló (8) android (11) apple (10) beépülő (25) bejelentés (13) bemutató (32) beta (11) béta (10) bittorrent (13) biztonság (75) blog (36) carakan (16) chrome (13) cikk (75) css (11) design (8) Developer (39) dragonfly (25) előzetes (336) énoperám (27) eums (9) evenes (8) explorer (59) fejlesztés (10) firefox (62) flash (10) fordítás (79) frissítés (11) fun (15) funkció (177) gmail (12) gomb (22) google (26) gyorshívó (18) hiba (24) hír (8) hírek (15) hordozható (10) html5 (23) ingyen (14) interjú (13) iphone (9) irc (8) játék (51) javascript (8) javítás (274) karácsony (9) keresés (8) kestrel (75) kiadás (128) kiegészítő (31) közösség (9) labs (9) levelező (39) mac (10) menü (12) microsoft (11) mini (108) minialkalmazás (43) mobil (48) mobile (45) myopera (62) Next (11) opera (26) operasoftware (35) operawatch (17) opera software (20) peregrine (8) poén (11) portable (9) presto (10) rc (12) reklám (28) reklámtiltás (12) rss (9) safari (19) sdk (11) sebesség (11) segítség (10) stabil (11) stabilitás (19) statisztika (36) szabvány (30) szavazás (10) születésnap (10) tanfolyam (8) téma (12) teszt (17) tetzchner (9) tipp (211) újdonság (9) unite (38) unix (9) usb (15) userjs (29) v18 (11) verzió (10) video (20) webfejlesztés (15) Címkefelhő

Kapcsolat

Iratkozz fel a blog hírcsatornájára!

RSS icon

Olvastál valami érdekeset az Operáról? Küldd el nekünk!

Írhatsz nekünk e-mailt:
magyaropera@gmail.com

Hivatalos Opera rajongói blog

Szerzők

Alapító

Aktív szerkesztők

Korábbi szerkesztők