Skrypty użytkownika pozwalają zmieniać wygląd lub działanie stron internetowych oraz dodawać nowe funkcje związane ze stronami do Opery. Możesz np. zabronić otwierania stron w nowych kartach, dodać sugestie do wyszukiwarki Google, dodać funkcję podświetlania wyszukiwanego słowa itd. Pisanie własnych skryptów wymaga znajomości języka JavaScript, ale możesz też używać gotowych skryptów, napisanych przez inne osoby. Znajdziesz je również tej stronie.
Aby korzystać ze skryptów użytkownika, należy posiadać Operę w wersji co najmniej 8.00. Utwórz w dowolnym miejscu na dysku nowy folder. Bądziesz w nim przechowywać skrypty użytkownika jako oddzielne pliki w formacie .js. Następnie w Operze otwórz Preferencje i w zakładce Zaawansowane > Zawartość > Opcje JavaScript, w polu Moje pliki JavaScript, wybierz folder ze skryptami. Od tej pory Opera będzie automatycznie wykorzystywać skrypty, które znajdą się we wskazanym przez Ciebie folderze.
[User Prefs] Always Load User JavaScript=1
Poniżej znajdują się gotowe do użycia skrypty. Więcej możesz znaleźć na stronie userjs.org. Możesz również wykorzystać wiele skryptów napisanych dla rozszerzenia Firefoksa GreaseMonkey, ponieważ działa ono na podobnej zasadzie jak skrypty użytkownika w Operze.
Dejavaskripter - zamienia linki w JS na zwykłe - Dymki nad obrazkami/linkami - Google Suggest na stronach wyszukiwarki Google - Identyfikator CSS dla każdej strony - Naprawa działania atrybutu "defer" znacznika script - Podświetlanie słów wyszukiwanych na stronach - Otwieranie stron w tej samej karcie - Wyświetlanie źródła cytatu -
Zamienia linki w JavaScript na zwykłe. Można strony otwierać w tle, w nowej karcie...
// ************** Dejavaskripter *******************************
// ************** globalne definicje zmiennych *******************
var Qdomena = document.location.host.replace(/^www\./,'');
// ************** obsługa skryptów domenowych ********************
var SkryptyDomenowe = {
'gazeta.pl': JsNaNormal,
'wiadomosci.gazeta.pl' : JsNaNormal,
'tv.wp.pl': JsNaNormal,
'ranking.pl': JsNaNorRanking,
'wisla.w-a.pl': ZamienObrazki,
'gora.w-a.pl': ZamienObrazki
}
for (var Domena in SkryptyDomenowe) {if (Domena == Qdomena) document.addEventListener('load',SkryptyDomenowe[Domena], false); }
// ******** zamienia linki w formacie javascript: na normalne /wersja podstawowa/ ******
function JsNaNormal() {
var odnosniki = document.getElementsByTagName('a');
for (var i = 0; i < odnosniki.length; i++) {
var hrefOdnosnika = odnosniki[i].getAttribute('href');
if (hrefOdnosnika.indexOf('javascript:') != -1) {
odnosniki[i].setAttribute('href', hrefOdnosnika.replace(/^javascript:.+\(['"]/,'').replace(/['"].+$/,''));
}
}
}
// *************** zamienia odnosniki js na normalne na stronie wisla.w-a.pl *********************
function ZamienObrazki() {
var obrazki = document.getElementsByTagName('img');
for (var i = 0; i < obrazki.length; i++) {
if (obrazki[i].getAttribute('onmousedown')) {
var odnosnik = document.createElement('a');
odnosnik.setAttribute('href', obrazki[i].getAttribute('onmousedown').replace(/^MM_openBrWindow\(['"]/,'').replace(/['"].+$/,''));
var noweDziecko = document.createElement('img');
noweDziecko.setAttribute('src',obrazki[i].getAttribute('src'));
odnosnik.appendChild(noweDziecko);
var matka = obrazki[i].parentNode;
matka.replaceChild(odnosnik, obrazki[i]);
}
}
}
// *********** zamiana linków JS na normalne na ranking.pl ***************************
function JsNaNorRanking() {
var odnosniki = document.getElementsByTagName('a');
for (var i = 0; i < odnosniki.length; i++) {
if (odnosniki[i].getAttribute('onclick').indexOf('javacript:window.open') != -1) {
odnosniki[i].setAttribute('href', odnosniki[i].getAttribute('onclick').replace(/^javascript:.+\(['"]/,'').replace(/['"].+$/,''));
odnosniki[i].setAttribute('onclick','');
}
}
}
Niektóre obrazki mają przypisany w HTML tylko atrybut alt
. Opera tego nie wyświetla w dymku. Dzięki poniższemu kodowi można przypisać obrazkom taki sam atrybut title (wyświetlany w dymku przez Operę). Działaą będzie tylko na obrazkach nie mających atrybutu title oraz będących linkami.
// ************** generowanie title z alt dla obrazków *******
function generujTitleZAlt() {
var obrazki=document.getElementsByTagName('img');
for (var i=0; i < obrazki.length; i++) {
if (!obrazki[i].title && obrazki[i].alt) {
obrazki[i].setAttribute('title',obrazki[i].alt);
}
}
}
document.addEventListener('load', generujTitleZAlt, false);
Dzięki poniższemu kodowi na stronach wyszukiwarki Google będą wyświetlane sugestie słów kluczowych wykorzystujące mechanizm Google Suggest.
pobierz kod - informacje na userjs.org
Ten strypt dodaje do każdej strony dla tagu "body" id="adres-strony-com". Dzięki temu można samodzielnie zmieniać wygląd odwiedzanych przez siebie stron dodając odpowiednie wpisy do pliku "user.css".
pobierz kod - informacje na userjs.org
Dzięki niemu Opera nie będzie zatrzymywać ładowania strony przez nie ładujący się skrypt z wolniejszego serwera.
window.opera.addEventListener('BeforeExternalScript',
function (ev){
if (ev.element.defer == true){
window.addEventListener('load', function(){
var x = document.createElement('script');
document.body.appendChild(x);
x.type = 'text/javascript';
x.src = ev.element.src;
}, false);
ev.preventDefault();
}
}, false);
Skrypt podświetla wyniki wyszukiwania na stronach. Integruje się z wyszukiwarką Google.
Więcej informacji: UltimateHighlightBookmarklet
Strona nie otworzy się w nowej karcie ale w aktywnej.
pobierz kod - informacje na userjs.org
Wyświetla adres źródła cytatu. Dostępny tylko wtedy gdy w kodzie HTML dla znacznika <blockquote> jest przypisany cite="adres".
pobierz kod - informacje na userjs.org