User Javascript - opinie, problemy, pomysły, propozycje skryptów

w dziale Dostosowywanie Opery do własnych potrzeb
quiris napisał(a):

Co to jest?
Skrypty Użytkownika (ang. User JavaScript) są nową funkcjonalnością Opery pozwalającą użytkownikowi na dodanie do wszystkich oglądanych stron skryptów napisanych w języku JavaScript. Użytkownicy znający JS mogą pisać własne skrypty, którymi mogą się również dzielić z innymi.

Po co to wszystko?
Technika ta pozwala między innymi na:


Włączanie funkcji Skryptów Użytkownika
1. Zakładamy dowolnie wybrany katalog, w którym będziemy umieszczać skrypty użytkownika, np. C:\MojeSkrypty
2. W Narzędzia -> Preferencje -> Zaawansowane -> Zawartość -> Opcje Javascript... -> Moje pliki pliki Javascript wskazujemy założony właśnie katalog.
3. Umieszczamy w założonym katalogu pliki ze skryptami użytkownika. Muszą one mieć rozszerzenie .js lub .user.js
4. Skrypty działają natychmiastowo po przeładowaniu danej strony. Nie trzeba restartować Opery.

Więcej informacji na temat skryptów użytkownika (user js) znajdziemy w oficjalnym tutorialu: http://www.opera.com/support/tutorials/userjs/

Moose napisał(a):

User Javascript

http://my.opera.com/hallvors/journal/44

Koniec maltretowania CSS javascriptem?

Howgh.

M.

quiris napisał(a):

Koniec maltretowania CSS javascriptem?


Na spokojnie popatrzymy jak to fukcjonuje w praktyce i się zobaczy wink

quiris napisał(a):

Pierwsze wrażenia: sygnatury się nie generują p Konsola pluje moim ulubionym błędem toObject conversion :-/

lockoom napisał(a):

Trzeba dać w zdarzenie onload, albo zrobić setTimeout na np. sekundę.

/edit: BTW: to wymiata smile

quiris napisał(a):

Originally posted by lockoom
Trzeba dać w zdarzenie onload, albo zrobić setTimeout na np. sekundę.

I jest bez sensu, bo strona mi miga przy onload. Ten sam brzydki efekt, jak w pierwszej wersji graala:-/ Powinno być, opcja ładowania skryptu, po załadowaniu drzewa XML. A może da się to zrobić przy pomocy tych document.addEventListener co to hallvord mi radził?

lockoom napisał(a):

eventlistner nic tu nie pomoże, bo robi dokładnie to samo (no może nie 'dokładnie' smile). Chyba, że jest zdarzenie onloaddocumenttreebutbeforedisplay smile

/edit: a próbowałeś mały setTimeout?

TomekQ napisał(a):

nie probowalem z setTimeout, ani z onload, ale

document.addEventListener('load', function(ev){if(!document.body.hasAttribute('id')) {document.body.setAttribute('id',document.location.host.replace(/^[url]www./,[/url]'').replace(/^([0-9])/, '_$1').replace(/\./g, '-'))};}, false);
daje niezly efekt (nie wiem co znaczy, ze miga - moze ze wzgledu na transfer wystarczajaca szybko mi sciaga i nie widze tego problemu)

lockoom napisał(a):

Ja też migania nie widzę, ale problem z generowanie id polega na tym, że chcemy dopisać ID do body natychmiast, a nie po załadowaniu dokumentu, bo wtedy i tak Opera pobierze wszystkie banery, flashe etc., które skrupulatnie w CSS wyłączyliśmy smile
addEventListner('load', fun) różni się tym od onload=fun, że za jego pomocą możne przypisać wiele funkcji do obsługi tego samego zdarzenia. W przypadku onload jestem prawie pewien, że nasza funkcja obsługi została by nadpisana przez skrypty na stronie także korzystające z tego zdarzenia.
Myślę, że w tym przypadku najlepszy będzie setTimeout(fun, 500).

quiris napisał(a):

Originally posted by TomekQ
nie probowalem z setTimeout, ani z onload, ale

document.addEventListener('load', function(ev){if(!document.body.hasAttribute('id')) {document.body.setAttribute('id',document.location.host.replace(/^www./,'').replace(/^([0-9])/, '_$1').replace(/\./g, '-'))};}, false);
daje niezly efekt (nie wiem co znaczy, ze miga - moze ze wzgledu na transfer wystarczajaca szybko mi sciaga i nie widze tego problemu)

Dlaczego to:
if(!document.body.hasAttribute('id'))    {
    document.body.setAttribute('id',document.location.host.replace(/^www\./,'').replace(/^([0-9])/, '_$1').replace(/\\./g, '-'));}
}, false);
mi nie działa? Przecież działało mi w CSS? Różnica jest w dwóch slaszach confused

lockoom napisał(a):

Tak teraz podwójne slashe muszą odejść smile Pozostać ma jeden. Spróbuj tego:

function _USER_JS_start(){
   with(document.body)
      if (!hasAttribute('id'))
         setAttribute('id', location.host.replace(/^www\./,'').replace(/^[0-9]/,'_$&').replace(/\./g,'-'))
}
setTimeout(_USER_JS_start, 500)

quiris napisał(a):

Tak teraz podwójne slashe muszą odejść

Możesz mi wytłumaczyć dlaczego?

quiris napisał(a):

Spróbuj tego:

No i guzik. Nie działa.

lockoom napisał(a):

Bo wtedy cały kod JSa był zawarty w cudzysłowach, czyli był ciągiem znaków. A więc slasha trzeba było podwoić żeby był traktowany jak slash, a nie jako znak ucieczki.

No i guzik. Nie działa.


jak to nie działa? Nadal ci miga? Czy w ogóle? Jeśli w ogóle to coś masz źle, bo mi ten kod działa.

TomekQ napisał(a):

Originally posted by lockoom
Ja też migania nie widzę, ale problem z generowanie id polega na tym, że chcemy dopisać ID do body natychmiast, a nie po załadowaniu dokumentu, bo wtedy i tak Opera pobierze wszystkie banery, flashe etc., które skrupulatnie w CSS wyłączyliśmy :)

kiedy mam wlaczony styl test.css o zawartosci
#onet-pl embed[type="application/x-shockwave-flash"],
object[type="application/x-shockwave-flash"], 
object[classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"] { 
display: none !important; 
}
to po nacisnieciu F5 na losowej stronie na onecie progress bar pokazuje, ze ma sciagnac 29 obrazkow, przy wylaczonym sciaga 30, czyli daje oczekiwany efekt
EDIT: z gory zastrzegam, ze na js sie nie znam i nie wiem czemu cos dziala, albo nie, wszystko co umiescilem do tej pory, to tylko tworcza adaptacja tego co juz bylo na forum, albo u Hallvorda

lockoom napisał(a):

Podejrzewam, że ci działa, bo masz niepoprawny CSS. Tzn. poprawny składniowo, ale niepoprawny ze względu na to co chciałeś uzyskać.

#onet-pl embed[type="application/x-shockwave-flash"], <-- to się odnosi tylko do onetu
object[type="application/x-shockwave-flash"],  <-- a to i...
object[classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"] { <-- ...to jest globalne 
   display: none !important; 
}

Jeśli chciałbyś żeby te style działy tylko dla onetu to powinny wyglądać tak:
#onet-pl embed[type="application/x-shockwave-flash"],
#onet-pl object[type="application/x-shockwave-flash"],
#onet-pl object[classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"] {
   display: none !important; 
}

TomekQ napisał(a):

Originally posted by lockoom
Podejrzewam, że ci działa, bo masz niepoprawny CSS. Tzn. poprawny składniowo, ale niepoprawny ze względu na to co chciałeś uzyskać.

rzeczywiscie:(, ale Twoja propozycja z setTimeout tez nie dziala:( (laduje flash w wersji poprawionej - #info-onet-pl).
EDIT: moja metoda nadaje sie do korygowania bledow css (choc juz wiem co quiris mial na mysli mowiac ze miga - sprobujcie zmienic kolor czcionki z tym jako js)
EDIT: lockoom przy bawieniu sie czasem ustawionym w setTimeout mozna uzyskac wylaczanie tego flasha, ale wydaje mi sie, ze i tak go sciaga (nie wcelowalem w czas taki, zeby dodawalo id i nie chcialo sciagac), w dodatku przy nieprzewidzianych opoznieniach to rozwiazanie nie podziala.
Ale zeby tak pesymistycznie nie konczyc to
document.addEventListener('load', function(ev){var anchors = document.getElementsByTagName('a');for(var i=0; i<anchors.length; i++){if(anchors[i].getAttribute('target').indexOf('_blank')!=1){anchors[i].removeAttribute('target')}};}, false);
wylacza target="_blank" (przerobka kodu stworzonego przez quirisa)

d.i.z. napisał(a):

Originally posted by quiris
No i guzik. Nie działa.


Trochę już straciłem wątek i nie wiem co działa a co nie ale jeżeli nie działał kod do tworzenia id to ten powinien działać:

document.addEventListener('load', function _USER_JS_start(){
   with(document.body)
      if (!hasAttribute('id'))
         setAttribute('id', location.host.replace(/^www\./,'').replace(/^[0-9]/,'_$&').replace(/\./g,'-'))
}, false);

Skopiowałem po prostu kod Hallvord'a.

A czy na pewno działa można sprawdzić uruchamiając:
java[b][/b]script:alert(document.body.id)

d.i.z. napisał(a):

Chciałbym spróbować trochę ulepszyć kod tego forum tzn dodać wsparcie dla document.selection przy odpowiadaniu. Pomijając fakt, że nie mam za bardo czasu to jeszcze stanął mi na drodze (do gwiazd) duży problem. Nie mogę ze skryptu odwołać się do innych funkcji zdefiniowanych w zewnętrznych plikach (vbcode.js). Dostaje ReferenceError. Myślałem, że skrypty w user js mają jakieś większe 'pole widzenia'. Orientuje się ktoś czy da się to jakoś obejść?

lockoom napisał(a):

Rijk podał przykład UserJS:
http://my.opera.com/Rijk/journal/54

Zgadnijcie jaki kod ma zawarta w nim funkcja bodyIDforAll() bigsmile

TomekQ napisał(a):

Originally posted by lockoom
Rijk podał przykład UserJS:
http://my.opera.com/Rijk/journal/54


I tak generuje id dopiero po otwarciu calej strony, wiec dalej trzeba szukac obejscia, albo pogodzic sie z faktem, ze stronki beda dostosowywac sie po chwili.

Zgadnijcie jaki kod ma zawarta w nim funkcja bodyIDforAll() bigsmile [/B]

Za to funkcja killBlank(), zabijajaca target="_blank" rozni sie od rozwiazania zaproponowanego przez quirisa

lockoom napisał(a):

Originally posted by TomekQ
I tak generuje id dopiero po otwarciu calej strony


Ja w moim UserJS uzywam setTimeout z malym opoznieniem. Nie jest idealny, ale na pewno lepszy niz generowanie ID dopiero po zaladowaniu dokumentu.

quiris napisał(a):

Ja w moim UserJS uzywam setTimeout z malym opoznieniem. Nie jest idealny, ale na pewno lepszy niz generowanie ID dopiero po zaladowaniu dokumentu.

Ok. U mnie z 500 ms nie działa. Z 1000ms działa, ale nie zawsze. Raz załapie, raz nie. Jednym słowem do [---] z taką robotą... Gral w tym obszarze żondzi wink Poza tym jeśli nie chcę w danej chwili fixów to je po prostu guziczkiem wyłączam. A z user.js to hmm... nie jest na razie tak różowo. IMO powinien być przycisk, który umożliwiałby szybkie wyłączanie user.js.

d.i.z. napisał(a):

document.selection addon for my.opera.com

Udało się po części poprawić kod tego forum. Przy odpowiadaniu/tworzeniu wątków można zaznaczyć jakiś tekst w polu edycyjnym i go np. pogrubić.
Na nic więcej nie mam czasu niestety, a chciałem jeszcze trochę to ulepszyć. Chociaż w sumie to Opera folks powinni wcześniej czy później poprawić kod tego forum smile

var vbcode_js= 'function vbcode(theform,vbcode,prompttext) {' +
	'if (selection = document.selection.createRange().text) {' +
	    'document.selection.createRange().text = "["+vbcode+"]"+selection+"[/"+vbcode+"] ";' +
	    '}' +
	'else if ((normalmode(theform)) || (vbcode=="IMG")) {' +
		'inserttext = prompt(tag_prompt+"\\n["+vbcode+"]xxx[/"+vbcode+"]",prompttext);' +
		'if ((inserttext != null) && (inserttext != ""))' +
			'document.selection.createRange().text += "["+vbcode+"]"+inserttext+"[/"+vbcode+"] ";' +
		'}' +
	'else {' +
		'donotinsert = false;' +
		'for (i = 0; i < tags.length; i++) {' +
			'if (tags[i] == vbcode)' +
				'donotinsert = true;' +
			'}' +
		'if (donotinsert)' +
			'stat("already_open");' +
		'else {' +
			'theform.message.value += "["+vbcode+"]";' +
			'arraypush(tags,vbcode);' +
			'}' +
		'}' +
	'theform.message.focus();' +
'}';

if (window.location.href.indexOf('my.opera.com/') > -1) {
    document.addEventListener('load', function(ev){
      head = document.getElementsByTagName("head")[0];
      script = document.createElement("script");
      script.setAttribute("type", 'text/javascript');
      script.innerHTML = vbcode_js;
      head.appendChild(script);
}, false);
}

andol napisał(a):

Re: document.selection addon for my.opera.com

Originally posted by d.i.z.
Chociaż w sumie to Opera folks powinni wcześniej czy później poprawić kod tego forum smile



Na pewno nie tego. Powstaje zupełnie nowe, w całości stworzone przez OS forum. smile

quiris napisał(a):

Na pewno nie tego. Powstaje zupełnie nowe, w całości stworzone przez OS forum.

Ale w wypadku tego skryptu napisali, że w momencie ogłoszenia finalnej wersji Ósemki skrypt zostanie poprawiony. Teraz pytanie. Co będzie piersze: finalna Ósemka, czy nowe forum? wink

quiris napisał(a):

Straciłem zaufanie do User JS. Włączona nawet z pustym plikiem JS może spowolnić działanie Opery i powodować crashe sad. Np. na www.kuratorium.kielce.pl z włączonym pustym JS mam zwolnione działanie: widzę przez pięć sekund ładowanie Completed request i przy wyjściu Opera wykłada się. Po wyłączeniu pliku user js jak ręką odjął :-/

Jakub81 napisał(a):

Originally posted by quiris
Straciłem zaufanie do User JS. Włączona nawet z pustym plikiem JS może spowolnić działanie Opery i powodować crashe sad. Np. na www.kuratorium.kielce.pl z włączonym pustym JS mam zwolnione działanie: widzę przez pięć sekund ładowanie Completed request i przy wyjściu Opera wykłada się. Po wyłączeniu pliku user js jak ręką odjął :-/



potwierdzam sad

Moose napisał(a):

Originally posted by quiris
Straciłem zaufanie do User JS. Włączona nawet z pustym plikiem JS może spowolnić działanie Opery i powodować crashe sad. Np. na www.kuratorium.kielce.pl z włączonym pustym JS mam zwolnione działanie: widzę przez pięć sekund ładowanie Completed request i przy wyjściu Opera wykłada się. Po wyłączeniu pliku user js jak ręką odjął :-/



Zlozyles bug report?

M.

quiris napisał(a):

Originally posted by Moose
Zlozyles bug report?

Oczywiście złoże, ale najpierw muszę ochłonąć z przygnębienia spowodowanego tym faktem wink

lockoom napisał(a):

Google Suggest

Lubicie Google Suggest? Chcielibyście żeby działało na zwykłych stronach Google? Dopiszcie następujący kod do waszego UserJS:
if (document.location.host.indexOf('google.') > -1){
   setTimeout(_USER_JS_googleSuggestDownload, 500)
}

function _USER_JS_googleSuggestDownload(){
   if (document.body && document.body.firstChild){
      var x = document.createElement('script');
      document.body.insertBefore(x, document.body.firstChild)
      x.type = 'text/javascript';
      x.src = '/ac.js';
      document.addEventListener('load', _USER_JS_googleSuggestInstall, false);
   } else {
      setTimeout(_USER_JS_googleSuggestDownload, 500)   
   }
}

function _USER_JS_googleSuggestInstall(){
   var googleFrm = (document.gs ? document.gs : document.f);
   InstallAC(googleFrm, googleFrm.q, googleFrm.btnG, 'search', 'en');
}

TomekQ napisał(a):

na forum bety pojawil sie skrypt utrudniajacy wykrywanie opery przy pomocy window.opera, wyglada na to, ze user.js to rzeczywiscie potezne narzedzie

janbar napisał(a):

Ale ta kwestia wymaga rozwiazania lub sprostowania wink
http://my.opera.com/forums/showthread.php?s=&postid=867351#post867522

Pozdrawiam,

janbar.smile)

quiris napisał(a):

Originally posted by janbar
Ale ta kwestia wymaga rozwiazania lub sprostowania wink
http://my.opera.com/forums/showthread.php?s=&postid=867351#post867522

Ten człowiek do niedawna miałby rację. Obecnie nie ma, ponieważ ten skrypt nie powinien działać, a działa! Nie powinien działać ponieważ właściwości obiektu navigator powinny być tylko do odczytu i do czasu wydania bety 3 tak było. Można to było obejść usuwając cały obiekt navigator, ale wtedy trzeba było odtwarzać wszystkie jego właściwości. Mam mieszane uczucia co do tego. Potencjalnie może to działać na szkodę Opery (jej obecność w statystykach). A może jestem tylko przewrażliwiony wink Na szczęście gemius jest na to odporny wink Oczywiście gemiusa można wyprowadzić w pole, ale inną metodą.

TomekQ napisał(a):

Originally posted by quiris
Potencjalnie może to działać na szkodę Opery (jej obecność w statystykach). A może jestem tylko przewrażliwiony wink

juz powstala wersja dzialajaca tylko z wpisami z ua.ini (przy 4 i 5 oczywiscie;)). Moze wreszcie glosy mowiace, ze Opera zle otwiera strony znikna calkowicie:hat:

lockoom napisał(a):

http://my.opera.com/hallvors/journal/45

Opera rządzi! smile

quiris napisał(a):

Originally posted by lockoom
http://my.opera.com/hallvors/journal/45

Opera rządzi! smile

Tak. Właśnie czytam. Kilka ciekawych możliwości się pojawia. Natomiast ja mam pytanie z innej beczki. Jak wyłączyć przy pomocy JS scrolling="yes" w znaczniku <frame>? Wg danych z moich eksperymentów nie jest to możliwe. To jest krytycznie dla mnie ważne wink

lockoom napisał(a):

Chyba się nie da. Jak dobieram się do ramki przez document.frames to Opera zabrania zmiany (a nawet odczytu) wartości atrybutów ze względów bezpieczeństwa (lekka przesada). Jeśli użyję document.getElementsByTagName('frame') to atrybut mogę odczytać/zmienić, ale niestety Opera nie reaguje na te zmiany :/

quiris napisał(a):

eśli użyję document.getElementsByTagName('frame') to atrybut mogę odczytać/zmienić, ale niestety Opera nie reaguje na te zmiany :/

Dokładnie! Czyżby ugi bugi? Zadam pytanie na Beta Testing.
Pytanie nr 2: Nie mogę sobie poradzić z wyłączeniem tego p....go skryptu livechat na www.helion.pl przy pomocy UserJS cry Przy pomocy grala nie było problemu wink

lockoom napisał(a):

Originally posted by quiris
Pytanie nr 2: Nie mogę sobie poradzić z wyłączeniem tego p....go skryptu livechat na www.helion.pl przy pomocy UserJS cry Przy pomocy grala nie było problemu wink



window.opera.addEventListener('BeforeExternalScript', function (ev){ if (ev.element.src.indexOf('livechat') > -1) ev.preventDefault() }, false);

quiris napisał(a):

Originally posted by lockoom

window.opera.addEventListener('BeforeExternalScript', function (ev){ if (ev.element.src.indexOf('livechat') > -1) ev.preventDefault() }, false);

cheers

Nixer napisał(a):

Ja mam taką małą prośbę: może komuś chciałoby się zrobić przykładowy user.js dla polskiego użytkownika z jakimiś podstawowymi funkcjami (typu google suggest lockooma) i instrukcją "dla opornych" która funkcja jest od czego i jak sobie zakomentować albo odkomentować coś, żeby działało?

TomekQ napisał(a):

Originally posted by Nixer
Ja mam taką małą prośbę: może komuś chciałoby się zrobić przykładowy user.js dla polskiego użytkownika z jakimiś podstawowymi funkcjami (typu google suggest lockooma) i instrukcją "dla opornych" która funkcja jest od czego i jak sobie zakomentować albo odkomentować coś, żeby działało?

lepsze byloby cos takiego

Originally posted by hallvors
Suggestion for maintaining a complex set of User JavaScripts:

  1. Create a folder - say c:\opera\userjs
  2. Place files from various people that you would like to use there
  3. Create a file called userjs.bat containing
    copy c:\opera\userjs\*.js "c:\program files\opera\profile\user.js"
  4. Update files and run BAT file to re-generate the user JS file when necessary
    [/list=1]

czyli pojedyncze funkcje a kazdy by sobie wybieral potrzebne i wrzucal do odpowiedniego katalogu

adas napisał(a):

http://dunck.us/collab/GreaseMonkeyUserScripts - a tu są skrypty do dużej ilości stron www (ale nie polskich). Może się komuś przydadzą...

adas napisał(a):

Hehehe smile Zkustomizuj sobie google.
http://www.customizegoogle.com/ Można sobie wybrać co ma się nam na google pokazywać... Ciekawe...
//edit: chociaż mi nie działa za bardzo... confused

Jakub81 napisał(a):

Originally posted by adas
http://nontroppo.org/wiki/PolskiUserJS - 3 znalezione na naszym forum kody wstawione. Teraz jeszcze jakichś znawców do opisania do czego to służy, znalezienia błędów i dodania kolejnych kodów.

Coś podobnego można zrobić dla UserCSS? Może http://nontroppo.org/wiki/PolskiUserCSS ?


Lepsze byłoby chyba http://nontroppo.org/wiki/CSSUzytkownika lub http://nontroppo.org/wiki/StyleUzytkownika

adas napisał(a):

Originally posted by Jakub81
Lepsze byłoby chyba http://nontroppo.org/wiki/CSSUzytkownika lub http://nontroppo.org/wiki/StyleUzytkownika


No niby tak. I chyba http://nontroppo.org/wiki/StyleUzytkownika lepsze. A co do JS to może http://nontroppo.org/wiki/SkryptyUzytkownika ?

Jakub81 napisał(a):

Originally posted by adas
A co do JS to może http://nontroppo.org/wiki/SkryptyUzytkownika ?



Też o tym myślałem up


edit: to skasowałem PolskiUserJS

adas napisał(a):

Originally posted by Nixer
Ja mam taką małą prośbę: może komuś chciałoby się zrobić przykładowy user.js dla polskiego użytkownika z jakimiś podstawowymi funkcjami (typu google suggest lockooma) i instrukcją "dla opornych" która funkcja jest od czego i jak sobie zakomentować albo odkomentować coś, żeby działało?


http://nontroppo.org/wiki/SkryptyUzytkownika - 3 znalezione na naszym forum kody wstawione. Teraz jeszcze jakichś znawców do opisania do czego to służy, znalezienia błędów i dodania kolejnych kodów.

Coś podobnego można zrobić dla UserCSS? Może http://nontroppo.org/wiki/PolskiUserCSS ?

//edit: linka poprawiłem. smile

Moose napisał(a):

Pelne Sygnatury i Turboskrypt Uzytkownika

Chcialbym sie podzielic pewna rzecza. Udoskonaleniem skryptu uzytkownika, ktory dodaje sygnatury CSS.

http://www.literarymoose.info/-/item/proper-auto-root-signatures-and-user-javascript

Wlasciwosci:

1. blokuje wszystkie zewnetrzne skrypty
2. pozwala na ladowanie tylko lokalnych skryptow
3. pozwala na obejscie problemu braku CSS3 selectors w Operze
4. pozwala na stylizacje calej strony, a nie tylko elementu body i jego descendants

Skrypt napisany przez Marka Wilton-Jonesa z Øpera Software, wg. moich wskazowek.

M.

Jakub81 napisał(a):

Jak tylko usuną crashbuga w obsłudze user.js, to zacznę go używać.

EDIT: Eee... to blokuje wszystkie skrypty ze strony? To nie zacznę.

Moose napisał(a):

Originally posted by Jakub81
Eee... to blokuje wszystkie skrypty ze strony? To nie zacznę.



A co ci przeszkadza usunac trzy pierwsze linie? A uzywac ci przeciez nikt nie kaze wink

M.

quiris napisał(a):

Chcialbym sie podzielic pewna rzecza. Udoskonaleniem skryptu uzytkownika, ktory dodaje sygnatury CSS.

Wszystko ładnie i pięknie tylko problem blinkania pozostaje :-/

lockoom napisał(a):

Na pierwszy rzut oka to na pewno musisz zamienić wszystkie &amp; na &

ben4alfa napisał(a):

Czy mógłby ktoś przejrzeć mój user.js lub zamieścić swój , ew screenshota z działaniem bo u mnie nie chce działać.
Głownie chodzi mi o 2 rzeczy:
- Google suggest
- alt title w dymku

Co ciekawe Oper plik user.js widzi bo w opera:about
mam coś takiego
User JavaScript file C:\Program Files\Inet\Opera\profile\user.js

user.js.txt

lockoom napisał(a):

<script defer="defer">

Może kogoś ucieszy, że napisałem userJS dodający obsługę atrybutu "defer" znacznika <script>. Zainteresowani wiedzą o co chodzi smile Generalnie teraz żadne "gemiusy" nie powinny zawieszać ładowania strony.
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);

adas napisał(a):

Re: <script defer="defer">

Originally posted by lockoom
Może kogoś ucieszy, że napisałem userJS dodający obsługę atrybutu "defer" znacznika <script>. Zainteresowani wiedzą o co chodzi smile Generalnie teraz żadne "gemiusy" nie powinny zawieszać ładowania strony.


A ja to wrzuciłem na: http://nontroppo.org/wiki/SkryptyUzytkownika
Tak aby w otmętach forum nie zaginęło. smile Chyba mogłem?

lockoom napisał(a):

Re: Re: <script defer="defer">

Originally posted by adas
Chyba mogłem?


Po omówieniu sprawy z moimi prawnikami doszedłem do wniosku, że tak wink

quiris napisał(a):

Może kogoś ucieszy, że napisałem userJS dodający obsługę atrybutu "defer" znacznika <script>. Zainteresowani wiedzą o co chodzi Generalnie teraz żadne "gemiusy" nie powinny zawieszać ładowania strony.

To jeszcze poprosimy o ładny opis skryptu, co jak i dlaczego smile

adas napisał(a):

Re: Re: Re: <script defer="defer">

Originally posted by lockoom
Po omówieniu sprawy z moimi prawnikami doszedłem do wniosku, że tak wink


To szybkich masz tych prawników... moi się mną jeszcze nie zainteresowali wink

lockoom napisał(a):

Originally posted by quiris
To jeszcze poprosimy o ładny opis skryptu, co jak i dlaczego smile



window.opera.addEventListener('BeforeExternalScript',

Rejestruję funkcję, która będzie wykonywana przed załadowaniem zewnętrznego skryptu.
   function (ev){
      if (ev.element.defer == true){

Jeśli dany skrypt ma atrybut "defer" to...
         window.addEventListener('load', function(){

...rejestruję funkcję, która wykonana będzie po załadowaniu dokumentu, a w której...
            var x = document.createElement('script');
            document.body.appendChild(x);
            x.type = 'text/javascript';
            x.src = ev.element.src;
         }, false);

....tworzę nowy element <script> i przypisuję mu atrybut "src" taki sam jak tego co to ma się za chwilę załadować, chyba że...
         ev.preventDefault();

...mu na to nie pozwolę wink
      }
   }, false);

Zamykanie nawiasów smile

W skrócie jeśli skrypt napotka znacznik script z atrybutem defer to zatrzyma ładowanie jego zawartości i po załadowaniu całego dokumentu utworzy nowy skrypt z identyczną zawartością jak ten zatrzymany.

Moose napisał(a):

Problem blinkania (flash of unmoosified content) czesciowo usuniety. Fix Iana.

M.

quiris napisał(a):

Originally posted by Moose
Problem blinkania (flash of unmoosified content) czesciowo usuniety. Fix Iana.

To rozwiązanie zaproponował lockoom zaraz po tym jak problem "blinakania" stylów się objawił. setTimeout jest tak naprawdę do niczego. Zajrzyj do wątku http://my.opera.com/forums/showthread.php?s=&threadid=84519 tam dokładnie pisaliśmy, że są z tym problemy. Ja potrzebuję metody jednoznacznego dowiedzenia się kiedy Opera załaduje dany element do pamięci i zacznie go wyświetlać. Na razie nikt tego nie wymyślił. Choć UserJS i nowe operowe zdarzenia dają ogromny potencjał i kto wie, czy wkrótce jakiś mastaha nie wymyśli stuprocentowo skutecznej metody. Czego Wam i sobie życzę smile

PS. Na liście autorów rozwiązania brakuje mi lockooma, który tak naprawdę pierwszy wymyślił tę, wykorzystywaną przez opisywany przez ciebie skrypt, metodę automatycznej generacji identyfikatorów smile

Moose napisał(a):

Originally posted by quiris
To rozwiązanie zaproponował lockoom zaraz po tym jak problem "blinakania" stylów się objawił. setTimeout jest tak naprawdę do niczego. Zajrzyj do wątku http://my.opera.com/forums/showthread.php?s=&threadid=84519 tam dokładnie pisaliśmy, że są z tym problemy. Ja potrzebuję metody jednoznacznego dowiedzenia się kiedy Opera załaduje dany element do pamięci i zacznie go wyświetlać. Na razie nikt tego nie wymyślił. Choć UserJS i nowe operowe zdarzenia dają ogromny potencjał i kto wie, czy wkrótce jakiś mastaha nie wymyśli stuprocentowo skutecznej metody. Czego Wam i sobie życzę smile

PS. Na liście autorów rozwiązania brakuje mi lockooma, który tak naprawdę pierwszy wymyślił tę wykorzystywaną przez opisywany przez ciebie skrypt metodę automatycznej generacji identyfikatorów smile



Owszem, jest do niczego. Mod napisal Ian w mojej obecnosci. Nie bede w to wnikal kto to zrobil pierwszy, poniewaz sam wrocilem do stanu poczatkowego.

Ta dyskusja ma sie do sedna metody jak piesc do nosa, i szczerze mowiac nie chce sprowadzac watku o czym innym na inne tory.

edit: usunalem mod z mojego serwera.

M.

quiris napisał(a):

Owszem, jest do niczego. Mod napisal Ian w mojej obecnosci. Nie bede w to wnikal kto to zrobil pierwszy, poniewaz sam wrocilem do stanu poczatkowego.

Ta dyskusja ma sie do sedna metody jak piesc do nosa, i szczerze mowiac nie chce sprowadzac watku o czym innym na inne tory.

Podsumowując: Sygantury CSS są znakomitą sprawą. O tym wiemy wszyscy. Jednak droga do nich jest ciernista wink

Moose napisał(a):

</>

M.

lockoom napisał(a):

Originally posted by quiris
PS. Na liście autorów rozwiązania brakuje mi lockooma, który tak naprawdę pierwszy wymyślił tę wykorzystywaną przez opisywany przez ciebie skrypt metodę automatycznej generacji identyfikatorów smile


heh, no nie przesadzajmy, ja po prostu twórczo rozwinąłem twój pomysł. Zresztą żaden z nas nie był pierwszy. W repozytorium Greasemonkey znalazłem podobny skrypt napisany nieco wcześniej.

quiris napisał(a):

heh, no nie przesadzajmy, ja po prostu twórczo rozwinąłem twój pomysł. Zresztą żaden z nas nie był pierwszy. W repozytorium Greasemonkey znalazłem podobny skrypt napisany nieco wcześniej.

Uhm. Faktycznie podobny, ale nie pozbawiony wad. Przede wszystkim problem identyfikatorów, które nie mogą rozpoczynać się od cyfr. www.opera.com i opera.com dostają inne identyfikatory itp.

Moose napisał(a):

Originally posted by lockoom
heh, no nie przesadzajmy, ja po prostu twórczo rozwinąłem twój pomysł. Zresztą żaden z nas nie był pierwszy. W repozytorium Greasemonkey znalazłem podobny skrypt napisany nieco wcześniej.



Nie przesadzajmy to malo powiedziane.

To jest javascript. Zadania o dopisanie kogos do listy autorow tylko dlatego, ze korzystal z tych samych znanych od lat konstrukcji (Ian napisal je w locie na IRC, tak na marginesie), jest tak samo idiotyczne i malostkowe jak domaganie sie "credit" za uzywanie display: none;.

Zaden z was nie mial udzialu w tworzeniu tej metody, i zanim sie ktos zacznie domagac 'credit' (nie ma zreszta za co), wypadaloby najpierw sie zapytac. Co za bezczelnosc.

M.

p.s. Mialem nie odpisywac, ale odpisalem, bo mnie szlag trafil, a tu swieta za rogiem, i wole miec to z glowy.

lockoom napisał(a):

Ja się nie domagam więc nie wiem do kogo te słowa. Wszystko co tu umieszczałem było dla ogółu i nigdy nie opatrywałem swojego kodu 'creditami', a tym bardziej nie domagałem się się o dodanie mojego nazwiska do czyjegoś. Więc jeśli kogoś może szlag trafić to mnie, bo zostałem nazwany bezczelnym, małostkowym idiotą :/

A tak na marginesie to twoja argumentacja jest bez sensu. To, że konstrukcje danego języka są znane nie znaczy, że każdą rzecz da się rozwiązać w jeden li tylko sposób. Ja czytając opis twojego rozwiązania, a zanim zobaczyłem kod nontroppo, miałem już pomysł jak go zrealizować i zapewniam cię, że implementacja różniła by się. Oczywiście nie jakoś znacząco, bo to nie jest skomplikowany problem programistyczny. Co nie zmienia faktu, że podpisywanie skryptu swoim nazwiskiem ma sens, bo jest to niewątpliwie jakieś "dzieło". Tak jak ty możesz podpisać swoim nazwiskiem pod wykonaną stronę WWW i żadać by nikt nie wykorzystywał twojego layoutu, tak ja mogę opatrzyć skrypt swoim. Co innego wiedzieć, że w CSS jest background-color, font-size etc., a co innego twórczo tę wiedzę wykorzystać.

Wesołych Świąt.

Moose napisał(a):

Originally posted by lockoom
Ja się nie domagam więc nie wiem do kogo te słowa. Wszystko co tu umieszczałem było dla ogółu i nigdy nie opatrywałem swojego kodu 'creditami', a tym bardziej nie domagałem się się o dodanie mojego nazwiska do czyjegoś. Wesołych Świąt.



Nie do ciebie. Przeczytaj watek od poczatku.

Wesolych Swiat.

M.

Moose napisał(a):

Originally posted by lockoom
A tak na marginesie to twoja argumentacja jest bez sensu. To, że konstrukcje danego języka są znane nie znaczy, że każdą rzecz da się rozwiązać w jeden li tylko sposób. Ja czytając opis twojego rozwiązania, a zanim zobaczyłem kod nontroppo, miałem już pomysł jak go zrealizować i zapewniam cię, że implementacja różniła by się. Oczywiście nie jakoś znacząco, bo to nie jest skomplikowany problem programistyczny. Co nie zmienia faktu, że podpisywanie skryptu swoim nazwiskiem ma sens, bo jest to niewątpliwie jakieś "dzieło". Tak jak ty możesz podpisać swoim nazwiskiem pod wykonaną stronę WWW i żadać by nikt nie wykorzystywał twojego layoutu, tak ja mogę opatrzyć skrypt swoim. Co innego wiedzieć, że w CSS jest background-color, font-size etc., a co innego twórczo tę wiedzę wykorzystać.



Kontynuujac margines, nie widze, zeby moja argumentacja byla bez sensu. CSS sygnatury "wymyslil" Eric Meyer, bardzo dawno temu. Identyfikator na body element zostal wymyslony wiele, wiele lat wczesniej. W XHTML 1.0 SE dodano mozliwosc dodawania ID do root element (tu: html). O ile mi wiadomo, ja jako pierwszy popularyzowalem zmiane signatures z body na root dwa lata temu, o ile nie wczesniej. Napisalem artykuly i rozne dokumenty na ten temat, probujac przekonywac ludzi o stosownosci takiego rozwiazania. Do glowy mi nie przyszlo brac za to 'credit', bo to jest standard. Robilem to wiec na dlugo przed wami, wliczajac w to pisemne prosby to autorow stron, by taka sygnature dodali, bym mogl napisac swoje wlasne style do ich stron. Idea osobnych stylow uzytkownika do kazdej strony bez sygnatur byla dyskutowana od lat. Nie ostatnio Gecko wprowadzilo rodzaj managera. Na forach W3C od dawna dyskutowano nad najlepszym rozwiazaniem, ktory nie wymagalby wysilku od tworcow stron. @site rule bylo jednym z pomyslow. W swiecie Opery myslano tez nad tym kilka lat temu - mozna zapytac Jaxa o rozne wizje. Automatyczne dodawanie identyfikatorow, klas i innych atrybutow badz elementow jest stare jak swiat. Od tego jest DOM. Poczytac mozna strone PPK, na przyklad, jesli nie same standardy. Server manager w Operze to rozniez stary pomysl, ostatnio odgrzebany przez mnie i Iana w 2004 roku. Problem identyfikatora na root jest problemem starszym niz dokonania osob tu piszacych, w tym jednej oskarzajacej mnie o zlodziejstwo idei. Moje rozwiazanie rowniez bazuje na wczesniejszych osiagnieciach. Rozbicie identyfikatora na wielokrotne klasy rowniez jest starym rozwiazaniem, jak i rozbicie zlozonych selectors na podklasy. Powstalo ono razem ze stworzeniem css3 selectors, na dlugo przed oficjalna specyfikacja z 2001 roku. jest jedna osoba ktora te wlasciwosc standardu wykorzystywala w swoich aplikacjach. To jest sedno standardu kady moze jewykorzystywac jak chce. Wiec i ja wpadlem na pomysl, zeby moje wieloletnie pragnienie zrealizowac, i napisalem w zwiazku z tym algorytm. O napisanie skryptu poprosilem Marka W.J. z Opery, i razem siedzielismy przez dluzszy czas na IRC, kiety to pod moje wskazowki napisal on skrypt od poczatku. 'Credit' taki jaki musi byc jest podany w moim artykule, gdzie oglosilem metode i skrypt, pare rozwiazan, w ktorych mialem wielki udzial. Skrypt zostal napisany w calosci przez Marka, a ja tylko poprawilem maly nieistotny blad. istnial problem, wiec zapytalem Iana o rozwiazanie, i napisal je w locie. Nie bylo dobre, wiec zostalo wymazane. Wczoraj w nocy siedzialem z Markiem jeszcze raz nad problemem, i efektem jest obecna wersja skryptu, 2.0. bedzie jeszcze trzecia. Ja osobiscie zawsze podaje 'credit', gdy cos od kogos biore, ale w tym wypadku jest to absolutnie nieuzasadnione, co autor oskarzen mogl ode mnie uslyszec at length, gdyby sie zapytal, zamiast inputowac mi przywlaszczanie sobie cudzych idei. Idee te sa stare, i tysiace osob o tym myslay od bardzo dawna, wliczajac w to mnie, zanim osoba oskarzajaca sie tym zajmowala. Przykro mi jest, ze zadza zablysniecia spowodowala kogos do napisania czegos takiego publicznie. Osobie oskarzajacej dodam - nie ma 'credit', i nie bedzie, poniewaz sie nie nalezy. Koniec marginesu. A ciebie Lockoom przepraszam, jesli moje wzmocnienie twojej wiadomosci odebrales jako atak na swoja osobe. Cytowalem cie, poniewaz chcialem rozwinac twoje "nie przesadzajmy". Skrypt jest podpisany tak, jak jest, poniewaz to byly osoby ktore go zaprojektowaly i napisaly. Artykul napisalem rowniez ja. Nigdzie ani ja ani Mark nie twierdzimy ze jestesmy 'pierwsi'. Oferujemy swoja prace dla innych do wykorzystania, i nie opatrujemy swojej pracy zadnym copyright. Free to take, free to reuse with no credit.

I tyle mam z podzielenia sie swoja praca na tym forum. Zastanowie sie na drugi raz kilka razy, zanim sie czymkolwiek tutaj podziele.

M.

lockoom napisał(a):

Zaden z was nie mial udzialu w tworzeniu tej metody, i zanim sie ktos zacznie domagac 'credit' (nie ma zreszta za co), wypadaloby najpierw sie zapytac. Co za bezczelnosc.


Przeczytałem wątek od początku i jeśli powyższe zdanie nie było m.in. do mnie to do kogo? Do quirisa i jakieś tajemniczej persony? To w takim razie skąd małostkowość przypisywana quirisowi skoro jemu brakowało mojego nicka, a nie własnego? Pomijam już fakt, że nie było w jego wypowiedzi żadnego żądania.

W każdym razie jak dla mnie raczej EOT.

Moose napisał(a):

Originally posted by lockoom
W każdym razie jak dla mnie raczej EOT.



Ditto.

Niniejszym rezygnuje tez z udzialu w polskim forum.

M.

Gargamel napisał(a):

Originally posted by Moose
Niniejszym rezygnuje tez z udzialu w polskim forum.

M.



Plaga jakaś? Najpierw Ryszard, teraz Moose...

Gargamel napisał(a):

Wiecie co Wam powiem?

Zbyt skomplikowana składnia jak dla mnie wink . W Proxomitronie i Privoxy wszystko wiadomo - proste jak budowa cepa. Znaleźć, wyciągnąć charakterystyczne elementy i zamienić. A tutaj musiałbym chyba ze 3 dni siedzieć nad skryptem dla najprostszego nawet problemu.

To nie krytyka samego rozwiązania, bo go dobrze nie znam. Pewnie jest świetne, ale przerasta (może na razie) moje możliwości. A właściwie jakie są jego zalety w porównaniu z lokalnymi proxy? Oczywiście prócz braku konieczności ich instalowania i wstępnej konfiguracji.

lockoom napisał(a):

Zaraz, zaraz Mooose, dopiero teraz zauważyłem, że edytowałeś posta i teraz już jestem zupełnie zdziwiony. Wydaje mi się, że źle zrozumiałeś wypowiedzi moje i quirisa. W każdym razie ja na pewno nie zarzucam ci kradzieży niczyjej idei. Pomysł z wieloma klasami zamiast id jest świetny i już się na niego przeniosłem. Moje uwagi na temat tego, że "nie byliśmy pierwsi" odnosiły się do rozwiązania quirisa i mojego rozwinięcia jego idei i nie miały na celu zmuszenia cię do dopisania jakieś niezlicznej liczby osób do "credits", czy udowodnienia, że ukradłeś czyjś pomysł. Ja po prostu chciałem pokazać, że quiris i ja nie jesteśmy tacy genialni wink, bo my jedynie ponownie "wynaleźliśmy koło". W każdym razie jeśli którąś z moich wypowiedzi odebrałeś jako atak na swoją osobę, posądzenie o kradzież etc. to nie było to moją intencją.
Podsumowując, moim zdaniem jest to wielkie nieporozumienie i szkoda gdybyś miał z tego powodu zrezygnować z udziału w polskim forum.

quiris napisał(a):

To jest javascript. Zadania o dopisanie kogos do listy autorow tylko dlatego, ze korzystal z tych samych znanych od lat konstrukcji (Ian napisal je w locie na IRC, tak na marginesie), jest tak samo idiotyczne i malostkowe jak domaganie sie "credit" za uzywanie display: none;.

Zaden z was nie mial udzialu w tworzeniu tej metody, i zanim sie ktos zacznie domagac 'credit' (nie ma zreszta za co), wypadaloby najpierw sie zapytac. Co za bezczelnosc.


Nie wiem, co Cię ugryzło w mojej uwadze. Nie domagałem się w niej żadnych "podziękowań" dla nikogo. Zauważyłem tylko, że skoro tam, na liście autorów, był nontroppo za dodanie linijki z setTimeout to równie dobrze mógł być lockoom, który podawał to rozwiązanie kilka dni wcześniej (a poza tym kilka jego innych idei/metod było wykorzystawanych w tym skrypcie). Podpowiem Ci, że to była ironiczna uwaga. Nie wiem skąd sobie ubzdurałeś, że ja (bo to chyba do mnie pijesz) domagam się jakiś "podziękowań" dla siebie. Trzeba mieć naprawdę dużo złej woli, żeby do takich wniosków dojść. Przykro mi, że wciskasz mi w usta słowa, których nigdy nie wypowiedziałem. Jednocześnie opatrzyłeś mnie bardzo miłym epitetem w postaci małostkowego idioty irked Tu trochę chyba się zapominałeś... Niemniej jednak, wszystko co napisałeś, w połączeniu z twoim oświadczeniem o rezygnacji udziału w polskim forum, trzeba nazwać niczym innym, jak tylko dziecinnym, szczeniackim zachowaniem: "Obraziłem się, zabieram swoje zabawki i idę do innej piaskownicy..."

PS. O ile dobrze pamiętam nie pierwszy już raz :-/

Nixer napisał(a):

Originally posted by Gargamel
Plaga jakaś? Najpierw Ryszard, teraz Moose...


Hę? Ryszard? Czy ja coś przegapiłem?

quiris napisał(a):

I tak generuje id dopiero po otwarciu calej strony, wiec dalej trzeba szukac obejscia, albo pogodzic sie z faktem, ze stronki beda dostosowywac sie po chwili.

Wydłubałem takie cuś (wersja obszerna/edukacyjna wink). Ten skrypt wydaje się działać zgodnie z oczekiwaniami, czyli efekt blinkania stylów nie występuje (przetestowałem wszystkie strony dla których mam nałożone fixy z Graala).
//autorzy: wstawcie tu sobie to, co wam się żywnie podoba :)
function SygnaturaCSS() {
	var semafor = false;
	if (document.body) {
		if (!document.body.hasAttribute('id')) {
			document.body.setAttribute('id',location.host.replace(/^www\./,'').replace(/^\d/,'_$&').replace(/\./g,'-'));	
			}
		semafor = true;
		}
	if (!semafor) {
		setTimeout("SygnaturaCSS()",50);
		}
	}

SygnaturaCSS();

quiris napisał(a):

Skrypt dodający atrybut title do obrazków (dzięki czemu Opera wyświetla je w dymkach). Dodaje on te atrybuty tylko w przypadku, gdy w oryginalnym kodzie nie istnieje atrybut title dla danych obrazków oraz gdy istnieje atrybut alt, z którego pobierana jest zawartość title:

//autorzy: wstawcie tu sobie to, co wam się żywnie podoba ;)
// ************** 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);


Troszkę inna wersja powyższego skryptu pojawiła się jako jedna z odpowiedzi w wątku: http://my.opera.com/forums/showthread.php?s=&threadid=58278

quiris napisał(a):

Ten skrypt wydaje się działać zgodnie z oczekiwaniami, czyli efekt blinkania stylów nie występuje

A jednak udało mi się znaleźć stronę, gdzie efekt migania styli występuje i co ciekawsze występuje również z wykorzystaniem Graala. Ta strona to www.gentoo.org Udało mi się wstępnie ustalić, że nieobecność jakiegokolwiek znacznika <script> na tej stronie odpowiada za ten efekt. Gdy dodałem do kodu pusty nawet skrypt, migania nie zauważyłem. Hmm... Dziwne.

quiris napisał(a):

O ile dobrze pamiętam, to nie był tu zamieszczany skrypt usuwający atrybut _blank w wersji przeznaczonej do User Javascript. Oto on:

// ************ usuwanie atrybutów _blank **********************
function usunAtrybutyBlank () {
    var odnosniki = document.getElementsByTagName('a');
    for (var i = 0; i < odnosniki.length; i++) {
        if (odnosniki[i].getAttribute('target') == '_blank') {
            odnosniki[i].removeAttribute('target');
            }
        }
    }

document.addEventListener('load', usunAtrybutyBlank, false);

adas napisał(a):

Starałem się coś kombinować z otwieraniem okna pisania mejla po klinięciu linka z mailto: od razu w Gmailu. Ale jakoś marnie mi poszło.

Skrypt z http://blog.monstuff.com/archives/images/MailtoComposeInGMail.user.js czyli z http://dunck.us/collab/GreaseMonkeyUserScripts

gmailmailto.txt

lockoom napisał(a):

Jedyny problem jaki tu widzę to fakt, że Opera nie obsłguje XPath. W chwili wolnej spróbuję go zastapić przez NodeIterator i wyrażenie regularne.

quiris napisał(a):

Coś dla wielbicieli era.pl (przy okazji inna strona, która snifuje tylko Operę 7)wink

// ***************** obejście do menu na era.pl oraz maximum.pl *********
function UaOstrzegawczy() {
	navigator.userAgent='Opera/8.0 (Windows NT 5.2; U; en) poprawcie skrypt z menu opera/7.';	
	}
var Qdomena = document.location.host.replace(/^www\./,'');
if (Qdomena == 'era.pl' || Qdomena == 'maximum.pl') UaOstrzegawczy();

Sentinel napisał(a):

Re: Pelne Sygnatury i Turboskrypt Uzytkownika

Originally posted by Moose
http://www.literarymoose.info/-/item/proper-auto-root-signatures-and-user-javascript


ech, ten pierwszy kwietnia... :-)

TomekQ napisał(a):

Re: Re: Pelne Sygnatury i Turboskrypt Uzytkownika

Originally posted by Sentinel
ech, ten pierwszy kwietnia...

wlacz "user mode" i nie ma problemu

Sentinel napisał(a):

no tak - coś przewrażliwiony dziś jestem na tym punkcie. ;-)

quiris napisał(a):

Dobra. Miałem poprawiać, ale to co wykonałem sprawuje się poprawnie i nie chce mi się optymalizować wink

Skrypt (w załączeniu) dodający do pól textarea na forum możliwość wstawiania BB kodów za pomocą skrótów klawiaturowych:

Opis skrótów. Skróty są tworzone za pomocą tzw. accesskeys. W Operze domyślnie ustawiony jest skrót shift + esc jako uaktywniający accesskeys. Nie jest to najwygodniejsze rozwiązanie. Sugeruję zmianę na np. klawisz Insert. Po zmianie możliwe jest przy pomocy:



Ins -> literka oznacza, że najpierw naciskamy Ins i puszczamy, a potem odpowiednią literkę

bbcode.txt

quiris napisał(a):

Podobny skrypt dla wielbicieli Żurnala operowego. Tym razem wstawiane są odpowiednie tagi.

zurnaltagi.txt

Mayor napisał(a):

a czy...

..dałoby się zmajstrować skrypt który wyświetlałby poprawnie okienka w js na http://www.livescore.com/ ?
strasznie mnie to irytuje, za każdym razem po otwarciu takiego okna musze je sobie sam rozszerzać

może skrypcik który wyłączałby oryginalne js i zastępował js o okreslonej i stałej szerokości okna (no bo wysokość musi się zmieniać w zalezności od wyniku)?

zgłaszałem dwa razy (bump) ale widać mają ważniejsze sprawy na głowie pssst

Mayor napisał(a):

yes KAPITALNIE!!

dzięki diz

co prawda widać przez moment po kliknięciu na link jak okienko ładuje się z paskiem przewijania ale ułamek sekundy później znika; nie zauważyłem skutków ubocznych nawet przy nie zmaksymalizowanej stronie głównej (a teoretycznie powinno ją zwężyć do 400 pix?) z tym że faktycznie zawsze mam zmaksymalizowane strony więc mnie to nie dotyczy

PS. a da się sterować położeniem okienka? np. żeby je wyposrodkować jak na obrazku (teraz wyskakuje wyrównane do lewej),
(btw. pięć czerwonych kartek, heh)

livescore.png

d.i.z. napisał(a):

Originally posted by Mayor
PS. a da się sterować położeniem okienka? np. żeby je wyposrodkować jak na obrazku (teraz wyskakuje wyrównane do lewej),
(btw. pięć czerwonych kartek, heh)



dodaj jeszcze linijkę self.moveTo(x,y)
Musisz mieć do tego zaznaczoną odpowiednią opcję w preferencjach (allow moving of windows)
spać.

Mayor napisał(a):

działa party

zrezygnowałem z wypośrodkowywania na rzecz umieszczenia go w lewym górnym roku (self.moveTo(0,0)) jak to czyni IE, skoro założenie twórców było takie właśnie wyświetlanie okienka to niech i tak będzie (w sumie nawet lepiej bo nie zasłania innych wyników)

d.i.z. napisał(a):

zmieniłem skrypt, sprawdź teraz. Według mnie teraz jest już idealnie jeżeli chodzi o rozmiary okna.

teraz już naprawdę spać smile

Mayor napisał(a):

jeszcze lepiej, super beer
dodałem do to wątku z bugiem, teraz niech sie wypchają ;P

quiris napisał(a):

edit: jeszcze zmiana tych grubych kresek na takie jak w ie.

Jeśli ktoś korzysta z sygnatur CSS może to bardziej elegancko załatwić wpisem:
#livescore-com td[width='400'], #livescore-com td[width='400'] {padding:0 !important}

A sam skrypt uprości się wtedy do postaci:
if (window.location.host.indexOf('livescore') > -1) {
    opera.addEventListener('BeforeEventListener.load', function(evk){
	evk.preventDefault();
    }, false);
}


PS. zamieniłem location na host i mamy dalsze oszczędności. Aha i jeśli ktoś ma powiększoną wielkość minimalną fontów to scroll pojawia się.

d.i.z. napisał(a):

Ok, poprawiłem jeszcze trochę, wykorzystałem idea quirisa chociaż nadal bez sygnatur css bo jeszcze się nie zdecydowałem żeby tego używać (jak nic się szczególnie nie zmieni w O8 final to zacznę smile)

Problem był jeszcze z tym, że jeżeli okienko było otwarte i kliknęliśmy na inne wyniki to otwierały się w tym starym popupie ale rozmiar pozostawał niezmieniony. To zmusiłem te popupy do samoczynnego zamykania po zgubieniu focusu (taki brzydki hack wink).

btw. za wszelkę cenę trzeba unikać zmiany rozmiaru okna już po samym utworzeniu. Powoduje to dodanie scrollbarów nawet jeżeli zmienimy rozmiary na takie same jak były wcześniej. Nie wiem czy to jest bug opery czy zamierzone działanie.

d.i.z. napisał(a):

To nie było trudne (wersja 3)
[PHP]
// triggers only on popup windows named 'match_details'
if (window.location.host.indexOf('livescore.') > -1 && window.name.indexOf('match_details') > -1) {
opera.addEventListener('BeforeEventListener.load', function(evk){
head = document.getElementsByTagName("head")[0];
style = document.createElement("style");
style.setAttribute("type", 'text/css');
style.innerHTML = "td[width='400'] {padding: 0;}";
head.appendChild(style);
self.moveTo(0,0);self.focus();
// close on loosing focus (because reused popups gets wrong size)
document.getElementsByTagName("body")[0].onblur='self.close()';
// prevent default resizing (which causes scrollbar to appear)
evk.preventDefault();
}, false);
}
[/PHP]
Próbuje to to co prawda zmienić rozmiar każdej strony livescore (również np. głównej) ale jak masz zmaksymalizowaną to nic nie zauważysz smile to zdanie jest już nieaktulane smile

edit: jeszcze zmiana tych grubych kresek na takie jak w ie.

Mayor napisał(a):

to jest po prostu świetne, działa lepiej niż przewidział webmajster na livescore, thx cheers

btw. o co chodzi z tym zmniejszaniem kodu js? im mniej tym wykonuje się szybciej?

andol napisał(a):

W najnowszych buildach pliki użytkownika można wybrać z poziomu interfejsu użytkownika, przy czym określamy nie plik, a katalog. Wszystkie pliki *.js znajdujące się w wybranym katalogu traktowane są jako pliki użytkownika. W odpowienim polu można również wpisać listę katalogów i plików (rozdzielonych przecinkami).

===plus 2, czyli trzy piątki po siódemce===cool

quiris napisał(a):

W odpowienim polu można również wpisać listę katalogów i plików (rozdzielonych przecinkami).

A będzie można zrobić sobie przycisk do szybkiego włączania i wyłączania wszystkich plików?

andol napisał(a):

Originally posted by quiris
A będzie można zrobić sobie przycisk do szybkiego włączania i wyłączania wszystkich plików?



Nie wiem.

//ZMIANA

Nie w 8.0.

Mayor napisał(a):

Originally posted by quiris
O ile dobrze pamiętam, to nie był tu zamieszczany skrypt usuwający atrybut _blank w wersji przeznaczonej do User Javascript. Oto on:

// ************ usuwanie atrybutów _blank **********************
function usunAtrybutyBlank () {
    var odnosniki = document.getElementsByTagName('a');
    for (var i = 0; i < odnosniki.length; i++) {
        if (odnosniki.getAttribute('target') == '_blank') {
odnosniki
.removeAttribute('target');
}
}
}

document.addEventListener('load', usunAtrybutyBlank, false);

quiris a dałoby się przerobić to tak żeby działało tylko dla plików a nie dla stron?
ten skrypt działa zarówna dla stron które mają się otwierać nowej stronie jak i dla linków do plików które powodują otwarcie się nowego pustego taba (ze 100 razy na wishlist)

taki skrypt załatwiłby sprawe na dobre, przynajmniej do czasu kiedy to wreszcie poprawią

d.i.z. napisał(a):

Originally posted by Mayor
quiris a dałoby się przerobić to tak żeby działało tylko dla plików a nie dla stron?


Ja się nudziłem wink
[php]
// ************ usuwanie atrybutów _blank [tylko dla plików] *************
function checkExt(url){var url=url.split('.');var ext=url[url.length-1].toLowerCase();return {zip:1,rar:1,tgz:1,tar:1,arj:1,gzip:1}[ext]}
function usunAtrybutyBlankPlik () {
var odnosniki = document.getElementsByTagName('a');
for (var i = 0; i < odnosniki.length; i++) {
if (odnosniki.getAttribute('target') == '_blank' && checkExt(odnosniki.getAttribute('href'))) {
odnosniki.removeAttribute('target');
odnosniki.style.cursor = 'pointer';

}
}
}
document.addEventListener('load', usunAtrybutyBlankPlik, false);
[/php]
dodany kawałek kodu zapożyczony został z jakiegoś bookmarkleta coby się nie przemęczać wink

To czy dany link prowadzi do pliku skrypt wie na podstawie rozszerzenia. Można sobie dodać własne w wiadomym miejscu. Nie będzie to oczywiście działać dla plików, które są ściągane na podstawie zapytania do bazy, czyli np. coś w tym stylu http://www.download.com/?plik=1023 lub podobnym.
Można sobie jeszcze zmieniś kursor na jakiś inny aby odróżniać zmienione ale chyba nie ma po co. (ja to dodałem bo u mnie coś się gryzło z user stylesheet i miałem zwykłą strzałkę bez rączki).

edit: mała poprawka żeby nie nadpisywał styli

edit2 : no i właśnie nie działa np. na tym forum jak są załączone pliki zip. Nie wiem czy da się to jakoś dostosować. Może da się sprawdzić jakieś atrybuty otwartego, pustego okna i wtedy próbować zamknąć na ich podstawie. Ale nie wiem jak tu jednoznacznie określić, które okno zostało otwarte przy ściąganiu pliku.

Mayor napisał(a):

edit2 : no i właśnie nie działa np. na tym forum jak są załączone pliki zip. Nie wiem czy da się to jakoś dostosować. Może da się sprawdzić jakieś atrybuty otwartego, pustego okna i wtedy próbować zamknąć na ich podstawie. Ale nie wiem jak tu jednoznacznie określić, które okno zostało otwarte przy ściąganiu pliku.

hm no własnie, juz napisałem posta w tamtym ątku ale sprawdziłem jak działa i skasowałem bo faktycznie otwiera te puste okna

wersja quirisa działa jak należy ale właśnie też dla stron (powiem że mnie to nawet odpowiada, kwestia porzucenia przyzwyczajenia zamykania okna i robienia "wstecz" bo całe życie otwierało się w osobnych kartach)
cały pic w tym zeby skrypt nie otwierał pustych okien, a normalne tak

d.i.z. napisał(a):

No niestety, jeżeli po adresie linku nie da się poznać czy prowadzi do pliku to skrypt jest bezsilny.
A znowu w tych otwartych pustych oknach w ogóle nie startuje userjs, także ja się poddaje. Może ktoś inny wpadnie na jakiś genialny w swej prostocie pomysł smile

Mayor napisał(a):

Originally posted by d.i.z.
No niestety, jeżeli po adresie linku nie da się poznać czy prowadzi do pliku to skrypt jest bezsilny.
A znowu w tych otwartych pustych oknach w ogóle nie startuje userjs, także ja się poddaje. Może ktoś inny wpadnie na jakiś genialny w swej prostocie pomysł smile

tj. nie da się ich rozpoznać czy nie dałoby się ich zamknąć (po rozpoznaniu)?

bo zawsze można jakimś ifem sprawdzić czy na stronie występuje dowolny znak a jesli nie to ją zamknąć
nie znam sie na js i tak sobie strzelam bo to by było chyba za proste

d.i.z. napisał(a):

Puste strony, które się otwierają przy ściąganiu pliku, nie startują skryptów zawartych w userjs. Także z tymi nic nie można zrobić, ani zamknąć ani nic.

Jedyne wyjście to zapobiegać otwieraniu ale tu znowu nie zawsze da się rozpoznać czy link prowadzi do pliku czy strony czy czego tam jeszcze.

TomekQ napisał(a):

Originally posted by Mayor
http://www.waderobsonfans.com/content_aboutwade_wrp_danceclips.htm

strona cały czas się sama odświeża przez co nie da sie tego normalnie czytać, domyślam sie że to przez skopany js, można to jakoś naprawić?
co ciekawe strona się odświeża za kazdym razem jak wchodzę na karte bigeyes skąd strona wie że na nią patrze? OnMouseOver? nawet gdyby to klikam tylko czubek karty a nie obszar strony hmm
a nawet nie musze klikać, wystrczy że użyje gestu albo klawiatury do mziany kart

nie potwierdzam

quiris napisał(a):

strona cały czas się sama odświeża przez co nie da sie tego normalnie czytać, domyślam sie że to przez skopany js, można to jakoś naprawić?

Spróbuj tego:
if (window.location.host.indexOf('waderobsonfans.com') != -1) { opera.addEventListener('BeforeEventListener.resize', function(ev){ ev.preventDefault(); }, false); }

Mayor napisał(a):

thx, pomogło up

@TomeQ a user.js masz? bo toto potrafi nawet crashować opere po opuszczeniu strony

Mayor napisał(a):

http://www.waderobsonfans.com/content_aboutwade_wrp_danceclips.htm

strona cały czas się sama odświeża przez co nie da sie tego normalnie czytać, domyślam sie że to przez skopany js, można to jakoś naprawić?
co ciekawe strona się odświeża za kazdym razem jak wchodzę na karte bigeyes skąd strona wie że na nią patrze? OnMouseOver? nawet gdyby to klikam tylko czubek karty a nie obszar strony hmm
a nawet nie musze klikać, wystrczy że użyje gestu albo klawiatury do zmiany kart

TomekQ napisał(a):

Rzeczywiscie - akurat nie mam user.js wiec moze dlatego nie bylo tego efektu.

quiris napisał(a):

Originally posted by TomekQ
Rzeczywiscie - akurat nie mam user.js wiec moze dlatego nie bylo tego efektu.

Nie widziałeś efektu, ponieważ efekt odświeżania strony występuje przy zmianie rozmiaru okna (zdarzenie resize (onresize)). Zmień rozmiar okna i zobacz, czy strona się nie odświeża. Nie wiem skąd pomysł Mayora, że tu może coś mieszać user.js rolleyes

Mayor napisał(a):

to było tylko moje przypuszczenie, Watsonie sherlock
skoro ja mam bug a on nie to trzeba sobie zadać pytanie czy mamy identyczne opery?
ja mam user.js a on nie, ocho

teraz przypomnij sobie blog marcosa
ktoś bez user.js wchodzi i opuszcza strone - ok
a ktoś Z user.js wchodzi a po wyjściu wychodzi mu z procesów opera

teraz wiążąc oba fakty można wysunąć wniosek że to może znowu jest coś jednak z tym user.js?
prawda? wink


PS. też nie widzicie żadnych avatarów ani emotów na forum czy tylko u mnie tak jest?
obrazki na strona mam, na forum nie widze żadnych
//edit a pod IE widze, heh, czas na restart

forum.png

TomekQ napisał(a):

Originally posted by Mayor
PS. też nie widzicie żadnych avatarów ani emotów na forum czy tylko u mnie tak jest?
obrazki na strona mam, na forum nie widze żadnych

http://my.opera.com/community/account/?profile=edit#options - zobacz Advanced Forum Settings

andol napisał(a):

Originally posted by Mayor
PS. też nie widzicie żadnych avatarów ani emotów na forum czy tylko u mnie tak jest?



Zapędziłeś się za bardzo wyłączając różne ocje w ustawieniach forum.


//edit a pod IE widze, heh, czas na restart



Bo pewnie się nie zalogowałeś.

Mayor napisał(a):

nic nie zmieniałem tam i zalogowany jestem tu i tu

//edit o już wiem co, miałem zaznaczone "ukrywaj obrazki nie bedące odnośnikami" w stylu użytkownika ale działał tez w stylu autorskim; swoją drogą normalnie nie wpływa na wyświetlanie ale "no flash" wymaga mieć zaznaczone "moj arkusz stylów" w obu trybach

quiris napisał(a):

teraz wiążąc oba fakty można wysunąć wniosek że to może znowu jest coś jednak z tym user.js?

Można wysnuć taki wniosek. Ale szybko można sprawdzić, czy jest prawdziwy. Zmieniasz nazwę pliku user.js, odświeżasz stronę i voila... na tej stronie już nie ma skryptów user.js.

PS. też nie widzicie żadnych avatarów ani emotów na forum czy tylko u mnie tak jest?

Widzę avatary. Może grzebałeś w opcjach i wyłączyłeś pokazywanie avatarów?

quiris napisał(a):

//edit o już wiem co, miałem zaznaczone "ukrywaj obrazki nie bedące odnośnikami" w stylu użytkownika ale działał tez w stylu autorskim

No właśnie. Zaczyna się objawiać zjawisko, którego się bałem. Użytkownicy będą wrzucać sobie różne fixy, potem zapomną, że coś tam wrzucili i będą zgłaszać problemy :-/ Ja również nieraz złapałem się na tym. Dlatego, zawsze jak mam podejrzenie błędu to wyłączam fixy CSS oraz user.js i sprawdzam, czy błąd dalej istnieje na danej stronie. Dlatego właśne tak bardzo potrzebuję przycisku, który szybko wyłączałby mi user.js. Obecnie najszybszym sposobem jest zmiana nazwy pliku sad

Mayor napisał(a):

Originally posted by quiris
No właśnie. Zaczyna się objawiać zjawisko, którego się bałem. Użytkownicy będą wrzucać sobie różne fixy, potem zapomną, że coś tam wrzucili i będą zgłaszać problemy :-/ Ja również nieraz złapałem się na tym. Dlatego, zawsze jak mam podejrzenie błędu to wyłączam fixy CSS oraz user.js i sprawdzam, czy błąd dalej istnieje na danej stronie. Dlatego właśne tak bardzo potrzebuję przycisku, który szybko wyłączałby mi user.js. Obecnie najszybszym sposobem jest zmiana nazwy pliku sad

a wyłączenie js nie wystarcza? w ósemce nie trzeba nawet odświeżać strony

btw. ja bym bardziej obawiał się "syndromu mirandy", czyli konfliktu sukcesywnie dodawanych fixów w user.js
jako że kazdy ma inne mogą sobie zacząć wchodzić w paradę a po pewnym czasie gdy już plik urośnie trudniej będzie znaleźć co z czym powoduje konflikt

/dopisek hmm tak sobie czytam Twój post i w zasadzie to samo napisałeś bigsmile ale zawsze troche inaczej

quiris napisał(a):

a wyłączenie js nie wystarcza?

Przecież JS jest mi zwykle potrzebne.

TomekQ napisał(a):

Originally posted by quiris
Dlatego właśne tak bardzo potrzebuję przycisku, który szybko wyłączałby mi user.js. Obecnie najszybszym sposobem jest zmiana nazwy pliku sad

tak, to jest najszybszy sposob, ale mozesz sobie zrobic przycisk, ktory by za to odpowiadal - koncepcje uwzgledniajaca przelaczanie kilku wersji user.js podalem tutaj

Mayor napisał(a):

można by wogóle napisac programik który zmieniałby nazwy (albo rozszerzenia) 3-ech plików których nie da się włączać/wyłączać z poziomu opery
i podczepić to np. pod nieco rozszerzone F12

nowe f12.png

quiris napisał(a):

Tak. Zrobiłem cos takiego przy pomocy plików bat, ale nieszczególnie jestem zadowolony.

Mayor napisał(a):

btw. jakie są szanse na to ze user.js, ua.ini i filter.ini przestaną być tajnymi opcjami niedostepnymi dla zwykłego użytkownika który nie odwiedza forum opery na którym znalazłby info gdzie i co dopisac żeby je uaktywnić:confused:

tj. czy w final'u będą one dostepne normalnie z opcji? tamto menu F12 jest najbardziej serio - przecież te opcje pozwalają m.in. na poprawne wyświetlanie stron

TomekQ napisał(a):

Nie sadze, zeby Opera zdecydowala sie na taki krok.
ua.ini ma chyba w zamierzeniach byc ustawiane przez mechanizm automatycznej aktualizacji, w dodatku nie widze potrzeby wlaczania/wylaczania go podczas dzialania Opery. Moze przydalaby sie mozliwosc aktualizacji "w locie", ale to juz inna historia (przecietny uzytkownik i tak nie bedzie samodzielnie przerabial ua.ini).
user.js juz mozna miec w menu (sposob brzydki, ale dzialajacy), a kazde udogodnienie w jego uzywaniu moze sprawic, ze przecietny uzytkownik bedzie instalowal skrypty z niepewnych stron. Choc uwazam, ze potrzebne sa poprawki dotyczace ua.ini.
Filter.ini - nie widze wad, ale wydaje mi sie, ze przestal dzialac w ostatnich Operach (chyba widzialem taki watek, ale nie wiem na 100%).

BTW. Moje F12 wyglada zupelnie inaczej;)

f12.png

Mayor napisał(a):

[OT co]
co wyłaczasz przez "Annoyances" ? [wkurzajki]? wink

TomekQ napisał(a):

Flash, marquee, blinking itd. nieco przerobiona wersja tego co znalazlem na forum i fragmentu CSS ze strony Moose'a:)
Teraz zastanawiam sie nad dodaniem jakiegos kombo przelacznika CSS do glownej czesci menu:)

andyas napisał(a):

A moglibyście udostępnić swoje menu.ini?

TomekQ napisał(a):

Menu Mayora bylo chyba raczej z zakresu wishlist;), ale ja swoim chetnie sie podziele. Powstalo specjalnie zeby moja Opera mogla tak wygladac i miec pelna funkcjonalnosc. Czesc poprawek powstala w odpowiedzi na chwilowe zapotrzebowanie (np. stare preferencje w Add-ons;)), wiec zapewne bedziesz musial je znacznie przerobic;).
Dwie uwagi:
- to jest przerobione zwykle standard_menu.ini i nie chcialo mi sie sprzatac zawartosci ponizej przerabianych fragmentow - nie wiem jakie zmiany wprowadzi wersja stabilna, ale czesc menu moze byc wybrakowana.
- trzeba zwrocic uwage zeby CSS byly dobrze ustawione (u mnie to 11 i 14).

tomekq.ini

adas napisał(a):

Ktoś tu chciał wyłączać UserJS w locie:
http://nontroppo.org/wiki/OperaPythonUserJSSwitcher/
Teraz tylko czekać aż ktoś to przerobi na Lua wink

adas napisał(a):

A działa wam jakiś kod JS do ustawiania sygnatury dla body w 8.00 final? Bo mi ani od quirisa, ani od Rijka nie działa... inne skrypty działają... Hmm... A może coś źle robię...
Wrzucam do pliku identyfikator.js takie coś:

function bodyIDforAll() {
    if(document.body){
        var
            b=document.body;
        if(!b.hasAttribute('id'))
            b.setAttribute('id',location.host
                .replace(/^www\./,'')
                .replace(/^\d/,'_$&')
                .replace(/\./g,'-'));
    // debug: uncomment the next line to see the body-IDs (this gets old really fast)
    alert(document.body.id);
    }
}

W preferencjach mam ustawiony katalog z JS (działa bo _blanki mi wywala i forum działa lepiej), ale sygnatury nie dodaje...

A mam już fajny styl dla google z krokusami yes bigsmile i działa, ale sygnatury nie działają... i nie mogę się nim pochwalić...

sidtherat napisał(a):

działa mi mooseRootsSignature - dzięki czemu działają mi css'y dla poszczególnych stron

adas napisał(a):

Ok... już działa... na http://nontroppo.org/wiki/SkryptyUzytkownika jest prawidłowy kod już...

samm_ur napisał(a):

Chyba zepsułem javascripta przy okazji dodawania nowych wpisów w user.js, w sobote mi działało Google sugest, a wczoraj już nie, wszystko na oko mam prawidłowo ustawione zgodnie z

http://nontroppo.org/wiki/SkryptyUzytkownika

ale z moimi zdolnościami to nigdy nic nie wiadomo.
Więc tak:
Java script -> Włączony
Katalog ze skryptami -> utworzony i ustawiony
script z googlesugest -> wstawiony do katalogu userJS
w opera6.ini mam wpisy:

User JavaScript=1
User JavaScript File=C:\Program Files\Opera8\profile\userJS

próbowałem też z

User JavaScript File=C:\Program Files\Opera8\profile\userJS\user.js

i cholera nie działa, a działało, czy ja coś pominąłem?
W jakim kodowaniu to powinno być zapisane?

Edit. Na życzenie adas'a poprawiłem błąd ortograficzny w wyrazie utworzony.

adas napisał(a):

Originally posted by samm_ur
Chyba zepsułem javascripta przy okazji dodawania nowych wpisów w user.js, w sobote mi działało Google sugest, a wczoraj już nie, wszystko na oko mam prawidłowo ustawione zgodnie z

http://nontroppo.org/wiki/SkryptyUzytkownika

ale z moimi zdolnościami to nigdy nic nie wiadomo.
Więc tak:
Java script -> Włączony
Katalog ze skryptami -> utwożony i ustawiony
script z googlesugest -> wstawiony do katalogu userJS
w opera6.ini mam wpisy:

User JavaScript=1
User JavaScript File=C:\Program Files\Opera8\profile\userJS

próbowałem też z

User JavaScript File=C:\Program Files\Opera8\profile\userJS\user.js

i cholera nie działa, a działało, czy ja coś pominąłem?
W jakim kodowaniu to powinno być zapisane?



A spróbuj teraz przeczytać początek wpisu na nontroppo. Uaktualniłem go jakiś czas temu (chyba w niedzielę). I poustwiaj od początku.

Kodowanie chyba nie ma znaczenia - w kodzie JS nie masz polskich znaków.

Katalog ze skryptami -> utwożony i ustawiony

Tak przy okazji polecą pewną akcję. Można to polecać niektórym forumowiczom wink
http://www.bykom-stop.avx.pl/

p.s. samm_ur przepraszam wink ale robisz za przykład... Mam nadzieję, że wybaczysz...

samm_ur napisał(a):

Opis UserJS na nontroppo to znam już na pamięć, ale i tak zrobiłem wszystko od nowa, pokasowałem pliki *.js razem z katalogiem skasowałem też ścieżkę dostępu w preferencjach no i oczywiście zamknąłem operke.
Potem tworzę katalog userJS i umieszczam w nim user.js z wpisem skopiowanym z nontroppo.
Uruchamiam operę w preferencjach podaję ścieżkę dostępu do katalogu i OK OK.
Na wszelki wypadek restart opery i sprawdzenie czy w opera6.ini są odpowiednie wpisy, okazuje się że są, więc zapalam googlarkę i [---] - googlesugest nie działa
Powtórzę jeszcze raz że w sobotę działało na 100%.

@adas czy przypadkiem nie zmieniłeś kodu js?

Ps. nie zapomnij sprawdzić czy nie zrobiłem jakiegoś błędu ortograficznego, wszak bardzo się starałem, ale głowy nie dam... wink

http://www.bykom-stop.avx.pl/ <- bardzo słuszna koncepcja popieram w stu procentach.

janbar napisał(a):

Originally posted by adas
Tak przy okazji polecą pewną akcję. Można to polecać niektórym forumowiczom wink
http://www.bykom-stop.avx.pl/

p.s. samm_ur przepraszam wink ale robisz za przykład... Mam nadzieję, że wybaczysz...



Jak to bylo o tym kotle, garnku i przyganianiu... ? whistle
wink

http://www.bykom-stop.avx.pl/ <-- a ten adres polecam zapamietac.... wink

Pozdrawiam,

janbar.smile)

adas napisał(a):

@janbar: wink

@samm_ur: a może sprawdź na google.pl albo google.com.

wickoo napisał(a):

a co byście powiedzieli na Automatyczne kopiowanie zaznaczonego tekstu? ( autocopy z ff )

zaznaczony tekst kopiowalby sie do schowka, a po skopiowaniu automatycznie usuwaloby sie zaznaczenie smile

dzisiaj uczylem sie js wiec jeszcze nie bardzo rozumiem i dlatego was o to proszę bigsmile

( do opery optrzebne są jakieś dodatkowe definicje obiektów itp. ? )

będę bardzo wdzięczny za odpowiedz wink

adas napisał(a):

Originally posted by wickoo
( do opery optrzebne są jakieś dodatkowe definicje obiektów itp. ? )


Nie wiem czy to ci coś da, ale proszę wink
http://www.opera.com/support/tutorials/userjs/specs/

wickoo napisał(a):

cóż, jestem kiepski z angielskiego bigsmile moze ktos podjalby sie przetlumaczenia dla biednych, malych, polskich owieczek wink

samm_ur napisał(a):

samm_ur napisał(a)

zapalam googlarkę i [---] - googlesugest nie działa



Nie uwierzycie, po restarcie kompa GoogleSugest zaczęło działać dziś rano zapuszczam a tu niespodzianka! bigsmile
Normalnie archiwum X.
alien alien alien yikes

wickoo napisał(a):

podpowiedzi wyswietlaja sie z opoznieniem smile moze nie zauwazyles albo cos :>

samm_ur napisał(a):

Archiwum X ciąg dalszy...alien

Problem z javascript nadal występuje. Po odpaleniu Operki wchodzę na stronę google.pl i googlesugest działa (załączyłem screena) ale wystarczy że otworzę jakąś stronę z zakładek albo skożystam z paska szybkiego wyszukiwania google to js przestaje działać.

Aby wznowić działanie js muszę wyczyścić Cache Opery i ją zrestartować.
Czy ktoś już widział takie skecze?
confused

Edit. Restart nie jest konieczny aby wznowić działanie js wystarczy wyczyścić cache

o8js.png

quiris napisał(a):

Archiwum X ciąg dalszy...

Nie archiwum, nie archiwum, tylko pewnie nie masz włączonej obsługi funkcji głosowych wink

samm_ur napisał(a):

Zgadza się, nie jestem aż tak szalony żeby gadać z przeglądarką bigsmile

A tak na serio to nie mam mikrofonu ani nie ściągałem plugina do obsługi Voice'a, to zdaje się coś koło 10MB.
Myślisz że to przez to?
Co ma piernik do wiatraka???
confused

quiris napisał(a):

Myślisz że to przez to?

Nie wiem, czy akurat w tej sprawie to jest to, ale jest to bardzo prawdopodobne.

Co ma piernik do wiatraka???

Akurat Voice browsing ma dużo do gadania w kwestii user js. Dla dociekliwych: odpowiedź znajduje się na forum, ale w innym dziale wink

wickoo napisał(a):

przemysli to ktoś? to jest mozliwe?

a co byście powiedzieli na Automatyczne kopiowanie zaznaczonego tekstu? ( autocopy z ff )

zaznaczony tekst kopiowalby sie do schowka, a po skopiowaniu automatycznie usuwaloby sie zaznaczenie wink

dzisiaj uczylem sie js wiec jeszcze nie bardzo rozumiem i dlatego was o to proszę bigsmile

d.i.z. napisał(a):

Opera chyba nie ma żadnej funkcji, która pozwoliła by na ustawienie zawartości schowka. Pewnie ze względów bezpieczeństwa.

Mayor napisał(a):

imho bez sensu bo co jesli skopiuję sobie w formularzu (np. odpowiadając na posta) jakiś fragment tekstu (mam go w schowku) a potem zaznacze jakiś inny fragment tekstu celem usunięcia go i wklejanie uprzednio skopiowanego? gdyby zadziałało to autocopy to usunąłbym i znowu wkleił to samo

z kolei jeśli miałoby to działać tylko na stronie to też nie halo (przynajmniej dla mnie) bo często jak jest duzo tekstu zlewającego sie w jeden, zaznaczam go sobie myszą przez co czytam fragmentami; w schowku mogę mieć jakiegoś linka czy cokolwiek co bede mógł chcieć wkleić później

Nixer napisał(a):

Postanowiłem wreszcie wypróbować te wszystkie nowinki, bo jeszcze się UserJavascript nie zajmowałem wcześniej. Bardzo fajny jest skrypt usuwający target="_blank". Tylko jedna rzecz mi się nie podoba: na takim linku mam zwykłą strzałkę a nie łapę wskazującą na link. Da się włożyć cursor:pointer do tego skryptu?

samm_ur napisał(a):

Nixer możesz jeszcze napisać czy masz włączonego voice'a pozostali którzy bawią się js też niech dadzą cynk czy komuś działa js bez włączonego voice'a i bez plugina do niego.
Z góry dzięki.

wickoo napisał(a):

Originally posted by Mayor
imho bez sensu bo co jesli skopiuję sobie w formularzu (np. odpowiadając na posta) jakiś fragment tekstu (mam go w schowku) a potem zaznacze jakiś inny fragment tekstu celem usunięcia go i wklejanie uprzednio skopiowanego? gdyby zadziałało to autocopy to usunąłbym i znowu wkleił to samo

z kolei jeśli miałoby to działać tylko na stronie to też nie halo (przynajmniej dla mnie) bo często jak jest duzo tekstu zlewającego sie w jeden, zaznaczam go sobie myszą przez co czytam fragmentami; w schowku mogę mieć jakiegoś linka czy cokolwiek co bede mógł chcieć wkleić później


dlatego to jest UserJS - instaluejsz tylko to, co chcesz..
w ff jest tak, że to działa tylko na stronie ( można wyłączyć formularze ) a u nas po prostu nie łapałoby formularzy. a przyzwyczajenia zawsze można zmienić smile Ja takich nie mam wiec nie byloby problemu :]

Nixer napisał(a):

Originally posted by samm_ur
Nixer możesz jeszcze napisać czy masz włączonego voice'a pozostali którzy bawią się js też niech dadzą cynk czy komuś działa js bez włączonego voice'a i bez plugina do niego.
Z góry dzięki.


Nie mam włączonego voice'a.

d.i.z. napisał(a):

Originally posted by Nixer
Postanowiłem wreszcie wypróbować te wszystkie nowinki, bo jeszcze się UserJavascript nie zajmowałem wcześniej. Bardzo fajny jest skrypt usuwający target="_blank". Tylko jedna rzecz mi się nie podoba: na takim linku mam zwykłą strzałkę a nie łapę wskazującą na link. Da się włożyć cursor:pointer do tego skryptu?


http://nontroppo.org/wiki/SkryptyUzytkownika#blank

Nixer napisał(a):

Dzięki! happy

TomekQ napisał(a):

Originally posted by quiris
Akurat Voice browsing ma dużo do gadania w kwestii user js. Dla dociekliwych: odpowiedź znajduje się na forum, ale w innym dziale wink

Akurat sledzilem dyskusjewink, choc jeszcze nie testowalem. Zreszta jestem pewny, ze wspomniany przeze mnie hack do acid2 dzialal przy pierwszej probie, a dzwieku na pewno nie instalowalem;).

P.S. Mam dziwne wrazenie, ze generator sygnatur w postaci user.js sprawia, ze polskie forum mirandy nie chce sie ladowac, czy ktos moze to potwierdzic/zaprzeczyc?

quiris napisał(a):

Zreszta jestem pewny, ze wspomniany przeze mnie hack do acid2 dzialal przy pierwszej probie, a dzwieku na pewno nie instalowalem.

Skoro śledziłeś dyskusje, to zapewne wiesz, że mimo wyłączonego Voice browsingu można zrobić tak, żeby skrypty na danej stronie bez znacznika <script> działały. I ta zasada *dotyczy* *również* strony http://www.webstandards.org/act/acid2/test.html

quiris napisał(a):

P.S. Mam dziwne wrazenie, ze generator sygnatur w postaci user.js sprawia, ze polskie forum mirandy nie chce sie ladowac, czy ktos moze to potwierdzic/zaprzeczyc?

Przy próbie załadowania strony wyskakuje pytanie o hasło.

TomekQ napisał(a):

Originally posted by quiris
Skoro śledziłeś dyskusje, to zapewne wiesz, że mimo wyłączonego Voice browsingu można zrobić tak, żeby skrypty na danej stronie bez znacznika <script> działały. I ta zasada *dotyczy* *również* strony http://www.webstandards.org/act/acid2/test.html

(Musze zanotowac, zeby unikac skrotow myslowych;), szczegolnie w nocy;)). Jak wspomnialem rozwiazania z tamtego watku nie testowalem. Natomiast sztuczka z acid dzialala tylko przy kilku pierwszych probach, a pozniej niestety przestala:(. Dlatego wydaje mi sie, ze jakies inne czynniki tez wplywaja na aktywowanie user.js.

Originally posted by quiris
Przy próbie załadowania strony wyskakuje pytanie o hasło.

Czyli istnieja strony, ktore dziwnie zachowuja sie pod wplywem user.js:(, teraz pozostaje znalezc przyczyne;).


P.S. Wyszla nowa wersja UltimateHighlightBookmarklet - teraz zsynchronizowana z Operowym wyszukiwaniem, niestety jeszcze nie udalo mi sie jej uruchomic, ale wierze, ze jestem na dobrej drodze;). EDIT: zadzialalo - przycisk chyba musi byc na tym samym pasku co pole do wyszukiwania:)

wickoo napisał(a):

a mi się nic nie dzieje bigsmile wszystko jest ok smile i nie mam voica p

quiris napisał(a):

Natomiast sztuczka z acid dzialala tylko przy kilku pierwszych probach, a pozniej niestety przestala. Dlatego wydaje mi sie, ze jakies inne czynniki tez wplywaja na aktywowanie user.js.

Tak. Inne czynniki zostały opisane właśnie w tamtym wątku i właśnie o tych czynnikach pisałem.

Czyli istnieja strony, ktore dziwnie zachowuja sie pod wplywem user.js, teraz pozostaje znalezc przyczyne

Tu nie ma nic do rzeczy user.js, po prostu strona nie jest obecnie dostępna. Takie samo pytanie dostaję zarówno pod Operą, jaki i Firefoksem, czy MSIE.

TomekQ napisał(a):

Originally posted by quiris
Tak. Inne czynniki zostały opisane właśnie w tamtym wątku i właśnie o tych czynnikach pisałem.

Czytanie ze zrozumieniem tez musze pocwiczyc;)

Tu nie ma nic do rzeczy user.js, po prostu strona nie jest obecnie dostępna. Takie samo pytanie dostaję zarówno pod Operą, jaki i Firefoksem, czy MSIE.

I znowu moja wina - u mnie strona laduje sie po calkowitym wylaczeniu javascriptu, wiec uznalem ze jest to wina generatora sygnatur swiezo przeniesionego z CSS.

wickoo napisał(a):

gdybym tylko dostał jasny spis elementów sad bo na stronei opery to nie moge sie polapac

samm_ur napisał(a):

Archiwum X odcinek 3

JavaScript jako taki działa tzn udało mi się odpalić Ultimate Highlight Bookmarklet
(z tym skryptem wszystko jast Tip Top) działa również wyłączenie target=_blank tyle, że po uruchomieniu trzeba zrestartować Operę, natomiast nie mogę poradzić sobie z Identyfikatorem CSS dla różnych stron, nie wiem czy problem jest w skrypcie sygnatura.js czy w w user.css w którym mam styl opracowany przez Moos'a i troche zmieniony przez sidtherat'a dotyczący wyglądu googlarki.
Podejżewam raczej styl bo przed chwilą udało mi się podmontować styl krokusowy opracowany przez adas'a i wygląda na to że działa.

W związku z tym mam pytanie czy styl moose'a wystarczy podłączyć do user.css czy wymaga to dodatkowych zabiegów

A co do googlesugest to jeżeli strona google jest ściągana z sieci to sugestie działają a jeżeli zaraz obok otworzę drugą stronę z google to jest ona ładowana z keszu i wtedy sugestie nie działają, chyba ten typ tak ma bo już nic innego nie wymyśle.

W załączniku jest wspomniany styl moose'a zmodowany przez sidtherat'a, gdyby ktoś chciał rzucić okiem

stylgoogle.txt

adas napisał(a):

No i ciebie objawiła się różnica w skryptach. Moose promuje html.moose.google a na polskim wiki mamy #google-pl

Czyli w pliku css zamień html.moose.google na #google-com. Chyba o to chodzi.

A ktoś wie, który sposób dodawania sygnatur jest wygodniejszy (lepszy)?

quiris napisał(a):

A ktoś wie, który sposób dodawania sygnatur jest wygodniejszy (lepszy)?

Ja osobiście używam klasycznej metody, czyli identyfikatorów np. #google-pl generowanych dla body. Moose korzysta z generowanych class dla elementu html, co zauważyłem powoduje sporo problemów w Operze. Sygnatury dla elementu html nie zawsze chciały się generować. Poza tym z klasami, które swoje zalety praktycznie są istotne dla rodzin stron, czyli np. rodzina stron Google, trzeba jednak uważać, bo pole do pomyłek jest zdecydowanie większe. Niedoświadczony użytkownik, który nie zna dobrze CSS może łatwo stać się ofiarą błędnie skonstruowanych definicji stylów, które niezamierzenie zaczną działać na stronach, na których działać nie powinny.

sidtherat napisał(a):

metoda moosa faktycznei ma wady - styl dla googlarki, który sam opracował kompletnie wywala gmaila, więc jeśli ktoś chce używać gmaila musi się z tym namęczyć [ja nie używam, ale sprawdziłem z ciekawości]
to samo dotyczy stron gooogle jako stron [instrukcje, faq, materiały itp], które też są traktowane po łebkach - i są przez to nieczytelne

'user CSS' to bardzo potężne narzędzie, ale im dalej w las, tym bardziej widać, jak trudne jest używanie tego w 100% rozsądny sposób

sidtherat napisał(a):

już wiem jak naprawić userJS moose'a [a także, ten polski], żeby działał z gmailem

sprawa jest prosta i w sumie nie wiem skąd ten błąd się wziął
oba skrypty mają w swojej składni coś takiego:

location.host.replace(/^www\./,'').replace(/^\d/,'_$&').replace(/\./g,'-')

pytam się po co? po usunięciu tego przedrostka, wiele stron, które mają podstrony właśnie PRZED właściwą nazwą domeny [np. www.tweak.pl i forum.tweak.pl] będzie kolidować.
Moose w stylu do googla wywalił wiele rzeczy korzystając z sekwencji
html.moose.google cośtam {display: none} - niby pięknie, ale to zabija też 'cośtam' na gmail.google.. chyba, że ktoś to ręcznie 'ożywi' - pytanie po co tak mkomplikować, życie, jeśli można wpisać

html.moose.www.google - wtedy gmail jest bezpieczny

zdaję sobię sprawę, że ten problem mógł być dyskutowany wcześniej, i takie rozwiązanie przyjęto jako jakiś kompromis, ja jednak nie dostrzegam jego wad [poza koniecznością wpisania www]

ps. nowego posta dodałem, żeby wyciągnąć to troszkę na wierzch i pobudzić dyskusję
ps2. nadal nie wiem jak zrobić, żeby bez wyłączania jego stylu oglądać strony googla [faq itp]

edit: ok, połowicznym sukcesem jest wpisanie
html.mooose.www.google.com dla wyników..

i korzystanie z www.google.pl/intl.. dla stron
tylko to jest półśrodek

quiris napisał(a):

pytam się po co? po usunięciu tego przedrostka, wiele stron, które mają podstrony właśnie PRZED właściwą nazwą domeny [np. www.tweak.pl i forum.tweak.pl] będzie kolidować.

To wycinanie www jest tam wstawione z premedytacją. U mnie strony www.tweak.pl oraz tweak.pl dostają identyczny identyfikator #tweak-pl i jest to jak najbardziej pożądane i prawidłowe. Natomiast forum.tweak.pl u mnie dostaje inny identyfikator #forum-tweak-pl i to jest również prawidłowe i pożądane. Żadna kolizja w przypadku korzystania z identyfikatorów nie nastąpi. Natomiast jeśli zdecydowałeś się na korzystanie z klas to właśnie padłeś ich ofiarą. To jest ten przypadek o którym pisałem wyżej. Kolizja może nastąpić *jedynie* w przypadku korzystania z klas.

sidtherat napisał(a):

no to przerabiamy to wszystko... :/

ps. koszmarnie wolno teraz otwiera się gmail..po wyłączeniu tego skryptu od sygnatur wszystko wraca do normy. nie wiem co jest
ps2. gmail sie NIE włącza sad

jednoznacznie moge stwierdzic, ze wina lezy po stronie skryptu do sygnatur - po wylaczeniu go gmail dziala, po wlaczeniu - nie...

moze i klasy sa be, ale dzialaja...


no i już zagadka wyjaśniona:

odpalanie tego skryptu jest błędne i koliduje z gmailowymi skryptami

zamiast
SygnaturaCSS();
powinno być
document.addEventListener('load',SygnaturaCSS,false);

przynajmniej to u mnie z gmailem działa

sidtherat napisał(a):

no dobra, wszystko pięknie działa, tylko w jaki sposób korzystając z sygnatur mogę osiągnąć taki efekt?
[img]http://img48.echo.cx/img48/2903/mariusopera4nt.png
tzn. tło body inne niż html?

edit. niewazne
juz wiem czemu moose zrobil tak jak zrobil
zostaje przy jego rozwiazaniu

Jakub81 napisał(a):

Originally posted by quiris
To wycinanie www jest tam wstawione z premedytacją. U mnie strony www.tweak.pl oraz tweak.pl dostają identyczny identyfikator #tweak-pl i jest to jak najbardziej pożądane i prawidłowe. Natomiast forum.tweak.pl u mnie dostaje inny identyfikator #forum-tweak-pl i to jest również prawidłowe i pożądane. Żadna kolizja w przypadku korzystania z identyfikatorów nie nastąpi. Natomiast jeśli zdecydowałeś się na korzystanie z klas to właśnie padłeś ich ofiarą. To jest ten przypadek o którym pisałem wyżej. Kolizja może nastąpić *jedynie* w przypadku korzystania z klas.



quiris, czy Twoja wersja to jest ta wersja?:
http://nontroppo.org/wiki/SkryptyUzytkownika#sygnatura

quiris napisał(a):

quiris, czy Twoja wersja to jest ta wersja?:
http://nontroppo.org/wiki/SkryptyUzytkownika#sygnatura

Tak

quiris napisał(a):

no dobra, wszystko pięknie działa, tylko w jaki sposób korzystając z sygnatur mogę osiągnąć taki efekt?
http://img48.echo.cx/img48/2903/mariusopera4nt.png
tzn. tło body inne niż html?


Podaję generatora identyfikatorów dla elementu root (html);
// ************** Sygnatura dla element Root **********************
function SygnaturaCSSRoot() {
      var Qdomena = document.location.host.replace(/^www\./,'');
	var elementOperowany=document.documentElement;
	var semafor = false;
	if (elementOperowany) {
		if (!elementOperowany.hasAttribute('id')) {
			elementOperowany.setAttribute('id',Qdomena.replace(/^\d/,'_$&').replace(/\./g,'-'));
			}
		semafor = true;
		}
	if (!semafor) {
		setTimeout("SygnaturaCSSRoot()",50);
		}
	}

SygnaturaCSSRoot(); 

quiris napisał(a):

ps. koszmarnie wolno teraz otwiera się gmail..po wyłączeniu tego skryptu od sygnatur wszystko wraca do normy. nie wiem co jest


Faktycznie. Spowalnia Gmaila.

zamiast
SygnaturaCSS();
powinno być
document.addEventListener('load',SygnaturaCSS,false);

To niestety też spowalnia Gmaila.

samm_ur napisał(a):

adas napisał(a)
No i ciebie objawiła się różnica w skryptach. Moose promuje html.moose.google a na polskim wiki mamy #google-pl

Czyli w pliku css zamień html.moose.google na #google-com. Chyba o to chodzi.



Ten trick rzeczywiście rozwiązuje problem z Moose'owym stylem dla google.com, jak ktoś używa google.pl to analogicznie zamienia: html.moose.google na #google-pl
i wszystko pięknie działa.
Dopiero dziś przy edycji search.ini dotarło do mnie że google.com i google.pl to nie jest to samo.
Ale ze mnie Einstain. bigsmile

Dzięki wszystkim za pomoc.

sidtherat napisał(a):

To niestety też spowalnia Gmaila.


powrocilem do rozwiazania moosa [wystarczy wpisywac wsazsytkie klasy, a nie domyslnie tylko google i jest ta sama funkcjonalnosc]
ale kiedy jeszcze walczylem z sygnaturami to to drugie rozwizanie sprawialo ze gmail sie WOGOLE odpalal, z sygnaturaCSS() stawał na 'loading' i tak sobie stał [10 minut mu dałem...]

Mayor napisał(a):

galeria na http://www.gtl.com.pl/index.html?page=galeria&PHPSESSID=dcbc405f68a870cdb9abe5a7e8a923e4# nie działa w operze, tj. okienka otwierają się i ładują bez końca
ID as IE to samo; pod IE działa jak ta lala, wszystkie obrazki otwierają się od razu

da się coś z tym zrobić?

sidtherat napisał(a):

u mnie to samo. obrazek się załadował jak odpaliłem DOM Inspectora smile
czyli jest skopane coś w wywołaniu javascriptu

quiris napisał(a):

Akurat Voice browsing ma dużo do gadania w kwestii user js.

Dla zainteresowanych, którzy życzą sobie ładowania przez Operę user js również dla stron, które nie mają w kodzie żadnych znaczników <script> informuję, że nie muszą już mieć włączonego Voice browsingu. Całą sprawę załatwia wpis w sekcji [User Prefs]:
Always Load User JavaScript=1

Myślałem, że powyższy wpis nie działa. Jednak na szczęście byłem w błędzie smile

Mayor napisał(a):

da się napisać jakiś js który by blokował automatyczne odświezanie na stronie?
np. http://www.eurosport.com/home/pages/v4/l0/s22/e6885/live_lng0_spo22_evt6885_mtc108538_alllive1.shtml
nie idzie normalnie poczytać bo się samo-oświeża co ileś sekund i przechodzi na góre strony, nawet w trybie offline

kiedyś się chyba o to samo pytałem i ponoć pomagało wyłaczenie czegoś ale teraz sprawdziłem i z wyłaczonym js czy wtyczkami jest to samo

d.i.z. napisał(a):

Originally posted by quiris
Dla zainteresowanych, którzy życzą sobie ładowania przez Operę user js również dla stron, które nie mają w kodzie żadnych znaczników <script> informuję, że nie muszą już mieć włączonego Voice browsingu. Całą sprawę załatwia wpis w sekcji [User Prefs]:

Always Load User JavaScript=1


Ale dla https chyba dalej nie będzie działać?

edit: nie działa...

tockar napisał(a):

mam problem z naszym ukochanym gmail-em.

gdy w emailu jest wymieniony adres email, klikniecie w niego powinno wywolac male okienko z mozliwoscia napisania na ten adres. ale nie w Operze.

Gdy klikam to i owszem, wyskakuje okienko, laduje sie chwile, po czym nagle przestaje, a w zamian dostaje piekne okienko informacyjne zatytylowane Javascript z trescia:
"Oops...the system was unable to perform your operation.
Please try again in a few seconds."

Czy da sie poradzic z tym problemem przy pomocy skryptu uzytkownika? Wiem ze moge korzystac z gmail przez M2, ale akurat zalezy mi na tym zeby tego nie robic wink

ps. Oswiadczam ze zapoznalem sie ze strona http://nontroppo.org/wiki/SkryptyUzytkownika i opcja "Search" na forum, ale nie dala dobrych wynikow.

TomekQ napisał(a):

Właśnie powstał skrypt umożliwiający autouzupełnianie formularzy, chyba informacje przechowywane są tylko dla danej domeny. Skrypt wymaga zapisywania ciasteczek.

TomekQ napisał(a):

Powstaje baza user.js myślę, że skrypty z tego wątku mogłyby do niej trafić.

adas napisał(a):

Originally posted by TomekQ
Powstaje baza user.js myślę, że skrypty z tego wątku mogłyby do niej trafić.

To miło smile Ale można jakoś poprosić o dodanie dodawanie opisów w innych językach niż angielski.

andyas napisał(a):

Jakiś link do tej strony na Opera Wiki by się przydał.

Jakub81 napisał(a):

To go dodaj.

MatiSz napisał(a):

JS i UserJS jednocześnie

Korzystam z skryptów użytkownika, głównie z sygnatur stron.
Jednak gdy korzystam z UserJS, nie mogę jednocześnie korzystać ze zwykłego JS na stronach.
Gdy podam błędny adres do pliku ze skryptami i odświerze stronę, wszystko jest ok.

Wy też tak macie? Czy ja mam wybrakowany egzemplarz? p

BTW
To było w 8.0, teraz, w 8.01 też tak jest..


Pozdrawiam, MatiSz

TomekQ napisał(a):

Twoj egzeplarz jest nadmiarowy. Nie generuje sygnatur, tylko klasy. A teraz porada tygodnia - poczytaj komentarze w tamtym pliku (zaczynają się od '//'), jeśli jeszcze nie będziesz wiedział, to przeczytaj tą stronę (sam znajdź interesujący fragment).

Nie radzę instalować skryptów js bez czytania.

MatiSz napisał(a):

Originally posted by TomekQ
Twoj egzeplarz jest nadmiarowy. Nie generuje sygnatur, tylko klasy. A teraz porada tygodnia - poczytaj komentarze w tamtym pliku (zaczynają się od '//'), jeśli jeszcze nie będziesz wiedział, to przeczytaj tą stronę (sam znajdź interesujący fragment).

Nie radzę instalować skryptów js bez czytania.



Skąd wiesz, że mój egzemplarz jest nadmiarowy? I czego egzemplarz - skryptu, Opery?

Powyrzucałem poszczególne pliki jednocześnie sprawdzając czy działa i już wiem, który skrypt psuje normalny JS - sygnatury stron Moose'a. Faktycznie, generuje on klasy.. smile
Używałem go wyłącznie do Google, więc nie będzie wielkiej straty.. smile

Dzięki.

TomekQ napisał(a):

Originally posted by TomekQ
A teraz porada tygodnia - poczytaj komentarze w tamtym pliku (zaczynają się od '//'), jeśli jeszcze nie będziesz wiedział, to przeczytaj tą stronę (sam znajdź interesujący fragment).

Czy ja wymagam tak wiele? trzy posty

adas napisał(a):

Userjs.org już działa smile

wickoo napisał(a):

odnosnie Userjs.org - czy ktos moglby zglosic propozycje aby pliki .userjs byly przez opere odslugiwane tak jak skiny, pobieralyby sie i sciagaly do folderu w ktorym przechowujemy userjs... byloby to chyba praktyczne, prawda?

TomekQ napisał(a):

Mayor zgłośił już coś takiego. Sam jestem przeciwny - wystarczy zerknąć na nasze forum, żeby zobaczyć, że część osób ściąga wszystko jak leci i nie wie co do czego służy. Dodając wpływ jednych skryptów na inne wychodzi ładny mętlik.

Mayor napisał(a):

no trudno żeby przez gości którzy nie umieją czytąc i ściągają wszystko co znajdną w necie pozbawiać się takich udogodnień
ten sam mętlik masz jak klikniesz plik ini do menu Moose'a i nagle pojawi Ci się milion opcji więcej

wolna wola: można umieszczać pliki jako zwykłe linki a można jako linki "autoinstall" z opisem co to jest obok

quiris napisał(a):

ten sam mętlik masz jak klikniesz plik ini do menu Moose'a i nagle pojawi Ci się milion opcji więcej

Tyle, że instalowanie plików ini nie spowoduje zagrożenia twojej prywatności i bezpieczeństwa, a pliki user js mają taką możliwość.

TomekQ napisał(a):

Mam nadzieję, że nie podpada to pod atak osobisty, ale najlepiej pokazać problem na przykładzie.

Mayor: Zwracając uwagę na to kogo tutaj quiris oraz to co piszesz w innych miejscach mam poważne wątpliwości, czy jesteś kompetenty na tyle, żeby decydować, który skrypt jest 'bezpieczny' a który nie*. Ty spytasz się na forum, ale większość użytkowników uzna każdy problem spowodowany przez nietypowe user.js za błąd Opery.
Ciągle też nie zauważyłeś, że skrypty mogą 'gryźć się ze sobą' - miałem dwa działające na linki i jeden blokował działanie drugiego. W przypadku łatwości ściągania nie będziesz nawet wiedział co może powodować konflikt.
Chcesz zobaczyć przybliżony obraz skutków takiego rozwiązania? Zerknij na forum Mozilli - odpowiedzią na 1/3 pytań jest 'jakie masz rozszerzenia' (co swoją drogą dowodzi, że pytania są źle sformułowane;)). W przypadku Opery problem byłby jeszcze większy - rozszerzenia zostały stworzone do współdziałania z innymi (przynajmniej tak mówi teoria), działanie javascript opiera się po części na świadomości webmastera (to on miał odpowiadać za js strony).


* Ja też nie jestem, ale przynajmniej jestem tego świadomy

Mayor napisał(a):

mamy wstrzymywać rozwój programu z powodu głupoty jakiegoś procenta użytkowników który ściąga i uruchamia wszystko co znajdzie w necie a potem biadoli na forum? ściągając i klikając ten plik -> trojan.exe też spowodujesz narażenie Twojej prywatności i bezpieczeństwa p

pewnie że zdaje sobie sprawe że wiele js mogą w końcu zacząć się gryźć ale to nie ma nic wspólnego z tym o czym pisałem na łiszliście; ja czy Ty i tak będziesz sobie wrzucał javascripty czy to do testów czy użytkowo i też bedziesz się z nimi użerał jak będą powodowały skutki uboczne; Rozchodzi mi się tylko o przyspieszenie procesu instalacji z

1. zapisz jako
2. zminimalizuj Opere
3. skopiuj ściągnięty plik z katalogu "Download" to katalogu "my javascript"

do
1. klikasz, po czym wyskakuje monit w stylu "Czy zastosować plik fix.js ?" i po kliknięciu "OK" ściąga się nie do Downloads a do folderu z javascripts

instalacje taką można by było w Preferencjach właczyc lub wyłaczyć (domyslnie wyłączona)

PS nie martw się trudno mnie obrazić pisząc na forum (to apropo tych ataków osobistych wink)

adas napisał(a):

Originally posted by Mayor
Rozchodzi mi się tylko o przyspieszenie procesu instalacji z

1. zapisz jako
2. zminimalizuj Opere
3. skopiuj ściągnięty plik z katalogu "Download" to katalogu "my javascript"


A teraz przecież mamy:
1. kliknij w odnośnik
2. zapisz jako... w folderze UserJs

Mayor napisał(a):

Originally posted by adas
A teraz przecież mamy:
1. kliknij w odnośnik
2. zapisz jako... w folderze UserJs

heh wiedziałem że ktoś to napisze wink

no więc faktycznie, gdyby była w Operze taka funkcja jak recent folders -> obrazek to byłoby to proste

ale teraz jest to zwyczajnie niewygodne bo wyglądało by to tak:

1. kliknij w odnośnik
2. zapisz jako
3. jestem w widoku folderu "Downloads" na dysku D
4. Do góry o jeden poziom (jestem w widoku dysku D)
5. Do góry o jeden poziom (jestem w widoku dysków C, D, E, Mój Komputer itp.)
6. dwuklik na C
7. dwuklik na Program Files
8. scroll down, scroll down, scroll down,..., aż zjade do folderów z Operą
9. dwuklik na Opera 8
10. dwuklik na profile
11. dwuklik na my javascript
12. Ufffff...

nie wspominając o tym że jak za chwilę będą chciał pobrać plik do innej lokacji to muszę stamtąd wyjść, a przy następnym pliku js znowu się naklikać żeby wejść

ja i tak zwyczajnie kopiuje plik na D a potem spod Total Commandera kopiuje gdzie trzeba bo tak mam szybciej niż opisany wyżej sposób, ale przydała by się malutka opcja która zaoszczędziła by tego czasu, tyle..

TomekQ napisał(a):

To ustaw Operę, żeby pliki z mime application/x-javascript i rozszerzeniem .js kopiowała do ustalonego folderu:). Albo zgłoś propozycję dodania innego application/user-js do tego, co wysyłają serwery z user.js (w zasadzie tylko http://userjs.org/). Jeśli ktoś będzie chciał to sam sobie doda do typów plików. Opcja w GUI jest zła.

Jakub81 napisał(a):

To ustaw Operę, żeby pliki z mime application/x-javascript i rozszerzeniem .js kopiowała do ustalonego folderu



To działa! yes No i już masz Mayor autoinstalację bigsmile

Przydałby się jeszcze jakiś skrypt użytkownika dający okno potwierdzenia po kliknięciu linków do *.js, albo coś w tym stylu, bo można niechcący pobrać coś, czego się nie chce.

quiris napisał(a):

mamy wstrzymywać rozwój programu z powodu głupoty jakiegoś procenta użytkowników

Mayor to co napisałem to nie są moje prywatne odczucia, a opinia pracowowników Opery. Oni są świadomi tego, że istnieje niedogodność w instalowaniu user js, ale to jest zrobione specjalnie.

sidtherat napisał(a):

Pomysł z userJS jest wyśmienity, rozwiązuje/może rozwiązać wiele problemów, ale ma wadę, bardzo poważną - 80-99% userow NIE WIE jak dany plik działa, wie tylko jaki ma efekt końcowy. Pozornie taka wiedza powinna wystarczać do diagnostyki problemu, jednak praktyka pewnie powie co innego. Dochodzi do tego mnóstwo instalowanych samodzielnie łatek [głównie różne CSS] i dostaje się nie jeden produkt - Operę8 - tylko masę produktów - Opera8 by KtośTam.
Jeśli zawiedzie autodiagnostyka nie będzie jak takiemu komuś pomóc. Poza wywal userJS, oczywiście.

Problem byłby mniejszy, gdyby wsystkie skrypty pisała jedna osoba [niewykonalne] lub ktoś je poprawiał i standaryzował. Bo w tej chwili już dwa skrypty operujące na drzewie DOM są ryzykowne a przecież może ich być więcej - a pozornie robią jakieś głupoty [ot, dodają title albo coś równie pozornie nieistotnego].

Z tego powodu osobiście jestem przeciw popularyzacji userJS. Jeśli ktoś znajdzie to sam, znaczy, że będzie w razie czego w stanie zrozumieć co, jak, dlaczego. Jeśli dostanie to na tacy, to tak jakby dostał granat bez zawleczki, ale z jeszcze wciśniętą łyżką. Zawodowcowi nic się nie stanie, amator się zabije.

Mayor napisał(a):

ponawiam pytanie wink
co zrobić żeby powstrzymać stronę od automatycznego odświeżania?

jeszcze lepiej niż na stronie eurosportu widać to na przykładzie tej strony gdzie odświeża się co ok. 3 sekundy :/

przeciez musi być jakiś sposób..

sidtherat napisał(a):

napisz userJS ktory z kodu zrodlowego strony wywali
<meta http-equiv="refresh" content="3 ;URL=http://www.pcgamespecial.nl/cgi-bin/screenshots/screenshots.cgi?cmd=slide_show&action=play&speed=3&path=Boiling Point: Road to Hell&img=12&tn=0">

[dot. drugiego przypadku, jesli strona jest we flashu to nic z tym nie zrobisz]

Mayor napisał(a):

lukałem w źródło żeby zobaczyć co powoduje to odświeżanie i też dostrzegłem to "refresh"
dałem podgląd źródła, wywaliłem refresh, zapisałem
dałem "Wczytaj z pamięci podręcznej" i działo sie tak samo...
chociaż podejrzewam że po prostu w międzyczasie jak ja edytowałem źródło strona dalej się odświeżała i wczytała mi którąś z nastepnych wersji strony ignorując moje zmiany

ps. nie znam sie ja pisaniu w js dlatego ładnie prosze o napisanie wink

wickoo napisał(a):

ja JS znam, ale nie wiem jakie funkcje ma userjs opery dlatego bardzo prosze o napisanie jakiegos polskiego poradnika na OperaWiki sad

Zajec napisał(a):

wickoo napisał(a)
nie wiem jakie funkcje ma userjs opery

Funkcje JavyScript. Całość można chyba nazwać imitowaniem występowania dowolnego skryptu JS na dowolnej stronie (lub wszystkich otwieranych).

d.i.z. napisał(a):

Lekarstwem na odświeżanie może być odznaczenie opcji 'Enable automatic redirection' w opcjach.

Ewentualnie naciśniecie obrazka ze znakiem pauzy. Ale to akurat na tej stronie smile

adas napisał(a):

http://userjs.org/scripts/site/enhancements/myopera-forum-pagelinks - zobaczcie ten skrypt.

strony my.opera.com.png

Jakub81 napisał(a):

Originally posted by adas
http://userjs.org/scripts/site/enhancements/myopera-forum-pagelinks - zobaczcie ten skrypt.



Fajny, ale nie działa na stronie http://my.opera.com/forums/search.php?&action=getnew a ja z innych nie korzystam.

wickoo napisał(a):

hmm.. a daloby sie zrobic js ktory po kliknieciu na adres do pliku js na userjs.org wyswietlalby monit 'czy zainstalowac userjs.js' a po kliknieciu na TAK kopiowalby plik do folderu z UserJS? :> zapisywanie na dysk chyba jest niewykonalne, nie? :/

TomekQ napisał(a):

Moim zdaniem jest to możliwe - wystarczy połączyć znane już rozwiązanie zapisywania plików .js na dysku ze skryptem, który pyta, czy przejść pod dany link (Zajec już taki napisał).

wickoo napisał(a):

mozna go pobrac?

TomekQ napisał(a):

Wszystko jest na tym forum. Posty Zająca są wartościowe, więc możesz je sobie i tak poczytać;)
EDIT: może nieco przesadziłem - chodzi 'antytumiklikacza'

adas napisał(a):

http://userjs.org/help/tutorials/uri-detection - jak wyciągnąć adres strony i wykorzystać go w jakimś skrypcie. Chociaż napewno znacie te sposoby wink

d.i.z. napisał(a):

Pełne wsparcie dla document.selection dla forum Opery

Działa to co wcześniej nie działało, czyli:

adas napisał(a):

Originally posted by d.i.z.
Pełne wsparcie dla document.selection dla forum Opery


A zgłoś do userjs.org http://userjs.org/scripts/submit

p.s. ciekawe kiedy to nowe forum się pojawi...

golly napisał(a):

Wrzucilem sobie skrypt
Hide objects until double click (Flash block)
i niechcacy kliknalem na baner. mam pytanko: Jak ukryc spowrotem jakis odblokowany baner? i drugie pytanko: czy da sie jakos ukryc te przestrzenie po banerach?

pozdro

daroc napisał(a):

Originally posted by golly
Wrzucilem sobie skrypt
Hide objects until double click (Flash block)
i niechcacy kliknalem na baner. mam pytanko: Jak ukryc spowrotem jakis odblokowany baner? i drugie pytanko: czy da sie jakos ukryc te przestrzenie po banerach?


1. "Odśwież" albo "przeładuj".
2. Można np. stylami użytkownika, ale trzeba by to robić dla każdej strony osobno - trochę z tym zabawy. Ale jeśli bardzo zależy ci na jakiejś jedniej stronie, to możesz popróbować.

d.i.z. napisał(a):

Ostatni hit userjs to dla mnie skrypt multipopup od hesido.

Wyłączyłem sobie nawet oryginalne tooltipy Opery od kiedy to zobaczyłem smile

Polecam mPUserJS.revStyle = 1;. Najfajniejsza animacja pokazywania tooltipa IMO smile

PeterCub napisał(a):

cała jego oficjalna strona jest ciekawa

---update---


Originally posted by d.i.z.
Polecam mPUserJS.revStyle = 1;


gdzie to jest?

---2 update---
ok, i found it, inside this script, it's easy LOL

daroc napisał(a):

A co z wyświetlaniem wartości atrybutu HREF linków? Adres jest dla mnie dużo ważniejszy niż opisy w title, niemniej jednak chciałbym wyświetlać i href i title.
Przy wyświetlaniu HREFu zauważyłem, że niemieszczące się w tym tooltipie adresy (sporo takich - adresy generowanych stron często są długie) powodują pojawienie się paska przewijania, zaś adres i tak jest ucinany w połowie. Spróbujcie najechać chociażby na znaczek « (te dwie "strzałeczki" w lewo) przy numerach stron na dole dokumentu - adres jest na tyle długi, że nie mieści się w tooltipie. (BTW - używam stylu forum: default i numerki stron na dole są po prawej.)

d.i.z. napisał(a):

Wyświetlanie linków autor tego skryptu ma dopiero w planach. I nie wiem tak na prawdę jak on chce to rozwiązać prawdę mówiać (pewnie małą czcionką wink). Linki są faktycznie długie i może to nieciekawie wyglądać.W każdym razie oficjalnie to jeszcze do href'ów się nie nadaje wink

mleko napisał(a):

hmm ale mi oprocz tego ładnego dymka pojawia mi sie ten zolty z opery co jest standardowo:/

d.i.z. napisał(a):

Masz dwa wyjścia:
1. wyłączyć oryginalne tooltipy w opcjach. Dla mnie najlepsza opcja bo denerwują mnie adresy url podawane dla każdego linku a jak chce go zobaczyć to zawsze mam go w status barze.
2. ustawić w skrypcie mPUserJS.setAttNull = [false]; na mPUserJS.setAttNull = [true]; Wtedy atrybut title zostanie usunięty z kodu strony i Opera go nie pokaże.

mleko napisał(a):

1. a gdzie to mozna wylaczyc bo nie widze bigsmile
2. jak to zrobie to czas loty floty w ogame sie pierniczy :/ ciagle pokazuje 0:00:00 natomiast jak jest jako [false] to jest dobrze:/

d.i.z. napisał(a):

1. Opcje/Zaawansowane/Przeglądanie (chyba, mam po angielsku).
2. Przy zmianie współrzędnych przy wysyłaniu floty? U mnie chyba dobrze. W każdym razie, standardowo opcja nie jest włączona i chyba nie bez powodu wink
edit: a faktycznie, na stronie Podgląd. Nie używać w takim razie wink

mleko napisał(a):

ad1: wylaczylem w opcjach i zostawilem te z userjs smile
na linkach nie mam tooltipow ale to nie problem bo przeciez od czego jest pasek stanu bigsmile

dzieks

a mozna jakos zmienic styl tego tooltipa z tego userjs ?

daroc napisał(a):

Ustawianie kodowania znaków dla konkretnej domeny

W jaki sposób przy pomocy JavaScript ustawić kodowanie znaków dla konkretnej domeny? Dzisiaj zacząłem grać w OGame (bigsmile) i drażni mnie, że na niektórych podstronach nie ma ustalonego kodowania znaków i wyświetlają mi się krzaczki (domyślnie mam ustawione w Operze używanie Windows-1250, nie chcę tego zmieniać).

d.i.z. napisał(a):

Jest nowa wersja 1.8, która pokazuje atrybuty href (między innymi). Polecam rzucić okiem na stronkę demonstracyjną (przytrzymać alt i najechać na czerwone obrazki).

Istnieje jeszcze inny styl dla okienka. YellowBox.
Tylko nie wiem czy autor go załączył do ostatniej wersji. Sprawdze jak to wygląda.

d.i.z. napisał(a):

Ten żółty styl nie jest dołączony do archiwum ale można go w miarę łatwo włączyć.

Do archwium dołączony jest plik user.css. Trzeba jego zawartość wkleić do pliku profile/styles/browser.css (jak nie ma to utworzyć). Dodatkowo na jego końcu wkleić jeszcze to:

#mpoptop {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABJQAAAAbCAYAAAAqA9VbAAAAB3RJTUUH1QcYESAu%2FRxkdgAAAAlwSFlzAABOIAAATiABFn2Z3gAAAARnQU1BAACxjwv8YQUAAADVSURBVHja7djLCYBAEETBXdFMjML82SjMRPATgg3CIFTB3ObQ59caAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAH%2BnNX9QgAAAAAyvW3j%2FN5jL16LQAAAAB1pmVbo%2F%2FqwQAAAAD8i6AEAAAAQERQAgAAACAiKAEAAAAQEZQAAAAAiAhKAAAAAEQEJQAAAAAighIAAAAAEUEJAAAAgIigBAAAAEBEUAIAAAAgIigBAAAAELkBs3IFHlZehDIAAAAASUVORK5CYII%3D") no-repeat 100% 0;}
#mpoptop div {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAcCAYAAACUJBTQAAAAB3RJTUUH1QcYEggBCdZJ3AAAAAlwSFlzAABOIAAATiABFn2Z3gAAAARnQU1BAACxjwv8YQUAAAA1SURBVHjaY2AYBaNgFIyCUYAVMJKg9j%2B5lrCQovjf72N3yLGEiUohMmrJqCWjloxaMuwsAQBsXQS6Uou6UwAAAABJRU5ErkJggg%3D%3D") no-repeat 0 0;}
#mpopbot {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABIQAAAAbCAYAAAANrVSzAAAAB3RJTUUH1QcYEScqtTA2qAAAAAlwSFlzAABOIAAATiABFn2Z3gAAAARnQU1BAACxjwv8YQUAAAFlSURBVHja7d1BasJAFAbgKAq9QS%2FgKTySB%2B0lunJjty2UFoyd9A3VElKiYMChzvfBzwwhi7f%2BeSGz1D49NwAAAAD8W%2FPlehXHJrKLbCMvkbfIPpL%2BvF96YAAAAABuSyEEAAAAUBmFEAAAAEBlFEIAAAAAlVEIAQAAAFRGIQQAAABQGYUQAAAAQGUUQgAAAACVUQgBAAAA3IducO8Gz34phAAAAADuw9kSqG8xX65XpacFAAAAYLI2coik5kIptIhsSk8LAAAAwFVOG0G5DHqPfEb2ka%2FmTCmUC6Fd6ckBAAAAuFoufvJmUC6DXo%2FnoblQCG1LTw0AAADAJHkjKG8JfTQ%2Fm0L5nsZenkUeS08MAAAAwCTpmLaX0c%2FGciH0UHpiAAAAACY5FT%2Bpl9FPxnIh5NfzAAAAAPehG5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3NI3bX86NTP%2FgNgAAAAASUVORK5CYII%3D") no-repeat 100% 100%;}
#mpopbot div {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAaCAYAAABCfffNAAAAB3RJTUUH1QcYEgYpouDMqAAAAAlwSFlzAABOIAAATiABFn2Z3gAAAARnQU1BAACxjwv8YQUAAACDSURBVHjaY2QgHvz%2F9%2FvYHRLUwwETOZpGLRm1ZNQS6gNGEtT%2Bp4clyHpYgZgHiEWBWApK80DFGdHNZSHTcSBf%2FQHi70D8ASr2BWoehsPJteQfEP%2BGGswAtQzkC2ZqBRdMHzPUYBhmYsCRkMi1BKaXiQHVcEZcCikBjGj0KBgFo2AwAwAPWA8LTIjQFgAAAABJRU5ErkJggg%3D%3D") no-repeat 0 100%;}
#mpopbod {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAABwCAYAAADBoipeAAAAB3RJTUUH1QcYEg8LpkI2BQAAAAlwSFlzAABOIAAATiABFn2Z3gAAAARnQU1BAACxjwv8YQUAAAA9SURBVHja7cuxCQAgEATBw%2F6bMrEpQT8VTDSfDRcmeW%2BvOfo52ge%2BgmEYhmEYhmEYhmEYhmEYhmEYhuGkAOPQBV6tOIIuAAAAAElFTkSuQmCC") repeat-y 0 0;}
#mpopbod>div {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAACWCAYAAADqiGnCAAAAB3RJTUUH1QcYEhIvZS2%2ByAAAAAlwSFlzAABOIAAATiABFn2Z3gAAAARnQU1BAACxjwv8YQUAAACESURBVHja7dE7CoAwEEXRiV8EWwv3v0ELsZLEESaQJiaxvsJFBQ9PUUQkSMPRtTz8HoOdZ80nZVfjwqot2qT1mistbNqlnXYfcksR7Nph17flSwuSrGRfqfkbIhhtrft6OAUuSWqB1ODmPw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA%2FAMPc0oRfbciy6wAAAAASUVORK5CYII%3D") repeat-y 100% 0;}
#mpopbod>div>div {background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAB3RJTUUH1QcYEDIBL%2FtDywAAAAlwSFlzAABOIAAATiABFn2Z3gAAAARnQU1BAACxjwv8YQUAAAMjSURBVHja7dRBDcAgAMDAMf%2B6MIEUEoIMHr1T0FfH2XN9QNL%2FOgB4xwAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAgzAAg7AKm7QWaHU%2FaiAAAAABJRU5ErkJggg%3D%3D") repeat;}

A na koniec, przestawić w skrypcie mPUserJS.useDefStyle na false

Teraz restart przeglądarki i powinno już być ok.

edit: czemu ja napisałem o tym multipopupie w tym wątku? Może ktoś z adminów posprzątał by za mnie? wink

adas napisał(a):

d.i.z.: połączyłem. Ale nie wiem czy wszystko wink

SpOOnman napisał(a):

Przeczytalem caly watek, ale nie znalazlem czego mi trzeba. Sam za slabo znam JS, a sprawa jest tak banalna, ze po 2 godzinach padlem i oddaje honor.

Czy moze mnie ktos poratowac prostym skryptem, ktory zamienia mi wszystkie wystapienia slowa Verdana (style, font-family, font-face itd.) na Trebuchet MS? Nie lubie Verdany i chce sie jej pozbyc raz na zawsze smile Probowalem cos w rodzaju document.replace(...), document.body.replace (...), document.body.text.replace (...) i tylko jakies bledy. Moze ktos mnie poratowac? Dzieki z gory smile

owiecc napisał(a):

@SpOOnman

spróbuj styli użytkownika
*[font-family="verdana"] {font-family: "Trebuchet MS";}

owiecc napisał(a):

Mam pomysł na skrypt. Stronka http://www.good-tutorials.com/ otwiera tutoriale na stronie z ramkami. Górna ramka jest z reklamą i bezpośrednim linkiem do tutoriala. Trzeba by napisać skrypt, który odczyta ten adres i przekieruje nas na właściwą stronę. Ewentualnie zmieni górną ramkę na 0px wysokości.

daroc napisał(a):

Spróbuj tego:

if (location.href.indexOf('good-tutorials.com')!=-1) document.getElementsByTagName('frameset')[0].rows='0,*';

Nie sprawdzałem, ale powinno działać.

SpOOnman napisał(a):

Originally posted by owiecc
@SpOOnman

spróbuj styli użytkownika
*[font-family="verdana"] {font-family: "Trebuchet MS";}



A jak na stronie bedzie font-family:Verdana,Tahoma,Times New Roman,Arial to juz nie zamieni?

Poza tym pozostaja rzeczy w stylach, w CSSach, wiec pomyslalem, ze najlatiwej i najskuteczniej zamianiac slowo Verdana na Trebuchet w zrodle bezposrednio.

SpOOnman napisał(a):

Niestety, owiecc nie dziala, ale czuje, ze jest blisko... Moze jakies usprawnienie?

symeon napisał(a):

witam.

ma ktoś pomysł jak zlikwidować miejsce na reklame ( u mnie się rzadko wyświetla ), na tej stronie >>> http://di.com.pl/news/10236,0.html <<<. nie chodzi mi oczywiście tylko o tego news'a ale o wszystkie strony z kategori "newsy" z tego portalu.

pozdro

mleko napisał(a):

chodzi o ta reklame googla z prawej strony?
jesli tak to wszystkie takie reklamy googla usuwa ten skrypt
hide_google_adsense.user.js



/*
Hide Google Adsense Ads
(c) Carlo Zottmann, carlo@g-blog.net
http://G-Spotting.net/

Copy, use, modify, spread as you see fit.
*/

// ==UserScript==
// @name Hide Google Adsense Ads
// @namespace http://docs.g-blog.net/code/greasemonkey
// @description (2005-03-30) Hides Google Adsense Ads iframes anywhere.
// @include http://*
// @include https://*
// ==/UserScript==

(function() {

var RemoveGoogleAds =
{
checkPage: function()
{
currentDoc = document;

try {
if (currentDoc.getElementsByTagName("body")[0].innerHTML.match(/google_ads_frame/i))
{
this.injectCSS("iframe[name='google_ads_frame'] { display: none; }");
}
}
catch(e) {}
},


injectCSS: function(css)
{
head = document.getElementsByTagName("head")[0];
style = document.createElement("style");
style.setAttribute("type", 'text/css');
style.innerHTML = css;
head.appendChild(style);
}
}

RemoveGoogleAds.checkPage();

})();

thm napisał(a):

Zawsze chciałem, by, jeśli Polska wikipedia nie znajdzie tego szukam, operka zapytała o to samo Angielską wikipedię.

Dlatego popełniłem dzisiaj kilka linijek :
[PHP]if (document.location.href.indexOf('pl.wikipedia.org/wiki/Specjalna:Search') > -1) {
var link = document.location.href;
var szukaj = link.substr(link.indexOf('search=')+7, (link.indexOf('&go')- link.indexOf('search='))-7 );
window.location.href="http://en.wikipedia.org/wiki/" + szukaj; } [/PHP]

Całość opiera się na adresach, a nie na treści przez co być może kiedyś trzeba bedzie skrypt uaktualnić.

daroc napisał(a):

Mała modyfikacja w skrypcie removeblank.js, bo trafiłem na stronę, która miała wpisane _BLANK - wtedy skrypt nie blokował nowego okienka.

document.addEventListener('load',function(ev){
  var d = document.getElementsByTagName('a');
  for (var i = d.length-1; i > -1; i--) {
    if (d[i].getAttribute('target').[b]toLowerCase()[/b] == "_blank") {
      d[i].removeAttribute('target');
    }
  }
},false);

adas napisał(a):

@daroc: to może napisz o tym na userjs.org.
http://userjs.org/scripts/general/enhancements/remove-blank

daroc napisał(a):

Napisałem do nich maila. Zastanawiam się tylko, jak to teraz będzie z prawami autorskimi itd... Bo przecież skrypt, który zmieniałem, nie był mój...

PeterCub napisał(a):

Jest już zaktualizowany skrypt na stronie Hesido

PeterCub napisał(a):

A ja mam problem z wyświetlaniem multipopup na stronie Deviantów. Szczegóły w załączeniu (podpowiedź specjalnie włączona dla pokazania różnicy).

mulitpopup.zip

daroc napisał(a):

Multipopup nie wyświetla się na stronach Wikipedii. Tj. wyświetlać się wyświetla, ale jest przykrywane przez warstwę z tekstem.

Nixer napisał(a):

Na wielu innych tak jest. Zauważyłem to już jakiś czas temu, ale jakoś zawsze zapomniałem zaraportować.

daroc napisał(a):

Multipopup_userJS blokuje menu na stronie http://www.polishemb-trade.co.uk/pl. Tj. menu czasami na chwilę się pojawia, ale znika zaraz po pojawieniu się tipa. Po wyłączeniu multipopup-a wszystko jest OK. Co jest źle? Ew. jak to poprawić?

sudione napisał(a):

Witam!!!
Ja mam pewnien problem ze skryptem o nazwie Dejavaskripter, ściągnąłem podobny o nazwie Popup Fixer i nie chcą mi te skrypty działać, między innymi na tej stronie http://icegirl.republika.pl/Galeria.html
P.S. Czy Wam ten skrypt w ogóle działa ???
P.S.2 Jak zapisać ten skrypt ze strony nontroppo w postaci pliku .js ???
POZDRAWIAM SERDECZNIE i proszę o jakiekolwiek wskazówki.

PeterCub napisał(a):

Originally posted by RevPeter:

A ja mam problem z wyświetlaniem multipopup na stronie Deviantów. Szczegóły w załączeniu (podpowiedź specjalnie włączona dla pokazania różnicy).

mulitpopup.zip



UPDATE: Nowsza wesja naprawia ten problem. Poza tym, autor na bieżąco uaktualnia swój skrypt, więc bardzo możliwe, że w przyszłości wszelkie zauważone przez Was usterki zostaną naprawione.
Pozdrawiam

Originally posted by daroc:

Multipopup nie wyświetla się na stronach Wikipedii. Tj. wyświetlać się wyświetla, ale jest przykrywane przez warstwę z tekstem.



Spróbuj pogrzebać w skrypcie, kierując się wskazówkami autora, powinna być opcja ustawienia przezroczystości. BTW, nie widzę problemu na stronie Wikipedii, tak właśnie dziala ten skrypt, chyba, że chodzi Ci o coś innego, wtedy podeprzyj to jakimś zrzutem.

symeon napisał(a):

dlaczego nie chce mi się wyświetlac wogóle Multipopup. Kombinuje już na różne sposoby i nijak nie daje rady. Inne *.js działaja poprawnie, a ten nie chce, jak na upartego.
Wyjaśnijcie kroczek po kroczku jak to zrobic by było dobrze. Stosuje się do poleceń na domowej stronie ale nic to nie daje.

janbar napisał(a):

Originally posted by quiris:

O ile dobrze pamiętam, to nie był tu zamieszczany skrypt usuwający atrybut _blank w wersji przeznaczonej do User Javascript. Oto on:

// ************ usuwanie atrybutów _blank **********************
function usunAtrybutyBlank () {
    var odnosniki = document.getElementsByTagName('a');
    for (var i = 0; i < odnosniki.length; i++) {
        if (odnosniki.getAttribute('target') == '_blank') {
odnosniki
.removeAttribute('target');
}
}
}

document.addEventListener('load', usunAtrybutyBlank, false);



A mozesz dodac funkcjonalnosc zeby linki zawarte we flashach, czy tez flashe bedace linkami tez nie otwieraly pustego okna?

Pozdrawiam,

janbar.smile)

Zajec napisał(a):

Originally posted by janbar:

A mozesz dodac funkcjonalnosc zeby linki zawarte we flashach, czy tez flashe bedace linkami tez nie otwieraly pustego okna?

Niestety, to wymagałoby dogrzebania się do źródła flasha. Btw. polecam F12->Wtyczki. Mi się już od dawna lepiej żyje :-)

janbar napisał(a):

Wydaje mi sie, ze problem opisany tutaj jest podobny do tego: http://my.opera.com/userjs/forums/findpost.pl?id=1153074 ( moze jednak tylko mi sie wydaje? wink ), czy tamta rzecz tez jest niemozliwa?

Pozdrawiam,

janbar.smile)

fenixproductions napisał(a):

Po zainstalowaniu Proxomitrona przestał mi działać multipopup.js. Inne skrypty (link-alert, linkify) chodza jak dawniej. Winien temu jest jakiś filtr z najnowszej definicji, ale po godzinie sprawdzania nie wiem już - który. Jesli ktoś próbował rozwiązac ten "problem" prosiłbym o sugestię, jak to cofnąć (który filtr wyłączyć?).

Mój konfig i listy do Proxomitrona są tu:
Lists.zip(71.5k)

P.S. Sorki jesli zły wątek, ale tu mi najlepiej pasował (stąd brałem skrypty).

woj-tek napisał(a):

Pomysł na skrypt: automatyczne rozwijanie opisu filmu na stronach filmwebu (ew po kliknięciu na jakiś dodatkowy "+" ale bez przeładowywania całej strony - analogicznie jak w komentarzach na onet.pl). Byłoby to wykonalne? smile

Grabol napisał(a):

Witam mam pewien problem podejrzewam ze z java script niektore strony juz ktorys raz mi sie to dzieje jak mam wlaczona obsluge java script poprostu sie nie otwieraja znaczy zaczyna ale pozostaje bialy ekran i staje w pewnym momencie jak wylacze obsluge js dla danej witryny wtedy sie laduje bez problemu z tym ze bez js brakuje sporo opcji na danej stronce nie mam juz pomyslow co z tym zrobic mam zaktualizowana js i opere czy ktos ma jakis pomysl?? z gory thx

JaDo napisał(a):

Podaj adresy tych stron. Wersja Opery, system? Masz włączone Turbo?