Przejdź


Opera JavaScript toolbar

13 Lip 2008 @ 11:05:22 groszek 12 komentarzy

Obywatele użytkownicy Opery! Nastał czas wielkich zmian! Czas przemian!
Czy nigdy wam nie brakowało w Operze jakiegoś toolbara, gdzie by można umieścić co tylko chcemy, na wzór Firefoksowego XUL? Nie brakowało wam w Operze jakichś sensownych dodatków? No więc zrobiłem UserJS do Opery, który dodaje taki toolbar. Pasek ten będzie się trzymał zawsze góry strony (przesuwając resztę odpowiednio w dół, by nie przeszkadzać), można na nim umieszczać dowolny kod html+css+js. Dzięki niemu można jeszcze lepiej dopasować Operę do swoich potrzeb – może ktoś chce czytnik RSS jak ten w Firefox albo Safari? Albo taki, który by przesuwał najnowsze wiadomości u góry ekranu? Może ktoś chce dropbox z listą feedów RSS, albo ostatnimi postami na forum? Może ktoś chce stworzyć jakiś „web developer toolbar”? Wszystko to jest możliwe :)

Potrzebne pliki:

Powyższe pliki wrzucamy do katalogu UserJS w Operze. Teraz już można będzie dodawać przyciski do toolbara. Na razie jednak wygląda on beznadziejnie, w dodatku nie trzyma się swojego miejsca. Należy więc uzupełnić swój UserCSS o następujący kod:


Oczywiście można, a nawet należy, wyedytować style, by dopasować je do swojego gustu.
Kolejnym krokiem jest dodanie przykładowego przycisku. Oto przykładowy kod, który dodaje przycisk „Wikipedia” i tam właśnie przekierowuje:


Można powiedzieć, że cały ten toolbar to raczej framework – na nim można oprzeć własne skrypty, by dodać im jakiś element GUI. Przycisk, pole tekstowe – cokolwiek.

Niestety, jest pewien problem – pasek ten pojawia się dopiero po załadowaniu całej strony (dodaje się przy DOMContentLoaded, bo element body musi być już załadowany). Nie udało mi się jeszcze znaleźć sensownego rozwiązania tego problemu. Jednak jeśli ktoś ma szybki internet, może nawet nie zauważyć.


Komentarze:

13 Lip 2008 @ 11:35:23 Quintasan

Albo jestem jakiś ciemny i nie wiem jak z tego korzystac albo to w ogóle nie działa :S
Przekopiowałem pliki *.js do UserJS w katalogu opery
a zawartośc oobar.css dodałem do pliku Opera 9.5\Styles\user.css :P

13 Lip 2008 @ 11:40:37 puppy

Hm, Worksforme ;-) inne userjs działają?

Zobacz czy masz dobrze ustawiony katalog userjs:
Tools->Preferences->Advanced->Content->JavaScript Options

Oraz usercss:
View->Style->Manage modes->Display

13 Lip 2008 @ 11:42:53 kubz

Panie kolego, zamiast oobar.css mamy 404
Ok, już jest dobrze.

13 Lip 2008 @ 11:44:45 puppy

Ups, faktycznie. Poprawione.

ps. Quintasan, może być też konieczne zresetowanie usercss – wejdź do tego menu które podałem i kliknij ok, wtedy się przeładuje.

13 Lip 2008 @ 12:23:06 Riddle

2 słowa: Opera Dragonfly

13 Lip 2008 @ 12:27:33 puppy

I co z nią :> przecież tego nie można użyć jako toolbara do opery, gdzie sie wstawi cokolwiek.
Poza tym to coś jest denerwująco powolne, potrafi mi się kilka minut ładować :/

13 Lip 2008 @ 13:20:14 Wasacz

A ja nie rozumiem, dlaczego nie dodać po prostu normalnego paska narzędzi i do niego skryptoprzyciski i inne polecenia Oo

13 Lip 2008 @ 17:37:06 Павел Тюпак

Ech, takie coś da się zrobić duużo prościej, o np.:

http://pawel-ciupak.ovh.org/OJbar.js

(uwaga: quick-and-dirty, proof-of-concept, zabugowane, brzydkie, nie do użytku powszechnego)

13 Lip 2008 @ 17:51:39 puppy

Wasacz: Bo wtedy nie można tam dodać np. listy dropbox albo ostylować tego CSS'em. Павел Тюпак: Prościej owszem, tylko że ja postawiłem na większą swobodę w tworzeniu. Można użyć dowolny element html, dowolnie go ostylować, przypisać dowolne zdarzenie(a). Wszystko w jednym, prostym wywołaniu ‘‘add’‘. Które w dodatku ma dosłownie wszystkie właściwości opcjonalne.

13 Lip 2008 @ 18:01:08 Павел Тюпак

Ech, równie dobrze możesz w `OJbar.load(function(){ /*…*/ });` wpisać np.:

with(this.bar.appendChild(document.createElement("strong"))){   appendChild(document.createTextNode("Dowolny element"));   style.color = "red"; } (np.: http://pawel-ciupak.ovh.org/OJbar2.js)

Ot, i też masz swobodę. Ech…

EDIT: Piep*** Textile…

EDIT 2: Żeżkurna, jak tu zrobić, żeby mi nie zamieniało po swojemu tych cudzysłowów?

13 Lip 2008 @ 18:26:43 Wasacz

Paweł: @

13 Lip 2008 @ 18:29:41 Павел Тюпак

@Wasacz: Dzięki.

Pierdol licencje, kopiuj na zdrowie!