Generowanie unikalnego ID (sygnatury CSS) dla wszystkich stron...

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

Mam ja ci taki noflash.css

embed[type="application/x-shockwave-flash"],
embed[TYPE="application/x-shockwave-flash"],
object[type="application/x-shockwave-flash"],
object[TYPE="application/x-shockwave-flash"],
object[classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"],
object[CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"]
{
display: none !important;
}

Czy idzie coś dopisać do tego, żeby np. na stronie www.costam.pl flasz działał? W Moose'owym Opera-Forum.css widzę "#my-opera-com", więc pomyślałem sobie, że może da się jakoś ustawić różne ustawienia dla różnych domen.

andol napisał(a):

Originally posted by Cyki
W Moose'owym Opera-Forum.css widzę "#my-opera-com", więc pomyślałem sobie, że może da się jakoś ustawić różne ustawienia dla różnych domen.



Domeny nie mają tu nic do rzeczy. Strona musi mieć tzw. CSS signature, czyli określony unikalny id dla elementu body strony. Niewiele witryn to ma (i idę o zakład, że te, które Cię interesują tego nie mają).

W przypadku my.opera.com mamy:
<body id="my-opera-com">
...
...
...
</body>

dzięki czemu nasz ceesesowy mistrz mógł zrobić to, co zauważyłeś.

Mayor napisał(a):

czyli po wejściu na stronę automatycznie uaktywnia się arkusz styli dla konkretnej strony

kurcze byłoby genialnie gdyby zaczeli to stosować powszechniej bo wchodząc na daną stronę od razu by wygladała tak jak chce użytkownik, reklamy powywalane, zbędne tabelki out, własna czcionka i tło...
<dreaming mode off>

a ten body id to juz nie standard? czy nie stosują go bo nikt tego nie wykorzystuje?
a może nikt nie wykorzystuje bo nikt go nie dodaje? faint

quiris napisał(a):

kurcze byłoby genialnie gdyby zaczeli to stosować powszechniej bo wchodząc na daną stronę od razu by wygladała tak jak chce użytkownik, reklamy powywalane, zbędne tabelki out, własna czcionka i tło...
<dreaming mode off>

Hmm... Jeśli nie ma tam id to nic nie stoi na przeszkodzie, żebyśmy sobie takie id dodali dla interesujących nas stron wink Szczegóły wkrótce bigsmile

quiris napisał(a):

Originally posted by quiris
Hmm... Jeśli nie ma tam id to nic nie stoi na przeszkodzie, żebyśmy sobie takie id dodali dla interesujących nas stron wink Szczegóły wkrótce bigsmile

Dzięki temu będzie możliwe poprawianie w locie zepsutych stron. Np. przy pomocy:

#peugeot-com-pl #head2 form {float:right !important; }
#peugeot-com-pl iframe {display:none !important;}


strona www.peugeot.com.pl wyświetla się już poprawnie w Operze. Muszę jeszcze poradzić sobie z paroma niuansami i wrzucę przepis jak w miarę prosty sposób generować id dla body.

button

screen.gif

TomekQ napisał(a):

Originally posted by quiris
[...]
Uwaga!
1) Oczywiście w słowie javascript nie powinno być spacji!


wersja kopuj-wklej, czyli "dziwne zabezpieczenia da sie oszukac;-)"

quiris napisał(a):

wersja kopuj-wklej, czyli "dziwne zabezpieczenia da sie oszukac;-)"


Dzięki smile

Nasty napisał(a):

WOW! Ale trik! bigeyes
Może by wrzucić pełny opis naprawienia "zrób-to-sam" strony peugeot.pl jako komentarz do zgłoszenia Peugeot na Osiołkach? Będzie to przy okazji niezła ciekawostka co się da zrobić w Operze i co mogą style. smile

quiris napisał(a):

Może by wrzucić pełny opis naprawienia "zrób-to-sam" strony peugeot.pl jako komentarz do zgłoszenia Peugeot na Osiołkach?

Wysłałem.

lockoom napisał(a):

Originally posted by quiris
I już jest. Święty Graal wink:


Przerobiłem nieco JS na bardziej uniwersalny:
body:before {
   position: absolute; visibility: hidden; 
   background-image: url("java[b][/b]script:window.onload=function(){document.body.setAttribute('id', document.location.href.split('/')[2].replace(/(www\.)?[0-9]*/, '').replace(/\\./g, '-'))}");
   content: "";
}


Teraz wystarczy tylko dopisywać odpowiednie regułu CSS nie trzeba dodatkowo dopisywać kolejnych warunków w javascript. Ważne jest tylko by przy dopisywaniu reguł dla kolejnych stron trzymać się pewnych zasad, czyli:
1. Wywalić początkowe "www." jeśli istnieje
2. Wywalić wszystkie cyfry, które są na początku po zastosowaniu pkt. 1
3. Zamienić kropki na '-'

Przykłady:
www.onet.pl -> #onet-pl
www.7thguard.net -> #thguard-net
blatek.ma.ciekawe.info -> #blatek-ma-ciekawe-info

Minusy:
Nie da się zastosować do domen w stylu www.4567.pl
Może wystąpić problem dla domen różniących się tylko początkowymi cyframi np.: www.60ies.com i www.70ies.com, jako że jedna i druga będą miały nadane id="ies-com"

Zalety:
Działa tak jak quirisowe, a nie trzeba się babrać w JS smile

quiris napisał(a):

Przerobiłem nieco JS na bardziej uniwersalny:

Wow. Dobra robota yes Jedno pytanie. Co się dzieje, gdy dana strona posiada już stosowne id wink?

quiris napisał(a):

Minusy:

Wydaje mi się, że minusy można łatwo wyeliminować. Po prostu dla domen z cyfrą na początku w ID dawać na początku podkreślenie _ czyli:

www.7thguard.net -> #_7thguard-net
www.4567.pl -> #_4567

quiris napisał(a):

Kurcze z takim stronami może być problem: http://weblogs.mozillazine.org/ben/ :-/

Jakub81 napisał(a):

Wszystko fajnie... tylko, że to zmienia styl tylko dla głównej strony.

quiris napisał(a):

Originally posted by Jakub81
Wszystko fajnie... tylko, że to zmienia styl tylko dla głównej strony.

Ale o której wersji piszesz, o lockooma, czy o mojej?

Jakub81 napisał(a):

lockooma, Twojej nie próbowałem :]

quiris napisał(a):

Originally posted by Jakub81
lockooma, Twojej nie próbowałem :]

No moja działa ok, dla całej domeny cool

Jakub81 napisał(a):

No faktycznie. Najbardziej denerwujący jest jednak minus nr. 3, tzn zastosowanie stylu dopiero po załadowaniu całości. Kiedy się doczekamy menedżera serwerów... ehh...

quiris napisał(a):

Najbardziej denerwujący jest jednak minus nr. 3, tzn zastosowanie stylu dopiero po załadowaniu całości. Kiedy się doczekamy menedżera serwerów... ehh...

Problem wyeliminowany cool

body:before { 
position: absolute; visibility: hidden; 
background-image: url("java[b][/b]script:if (document.location.href.indexOf('peugeot.pl/') != -1) document.getElementsByTagName('body').item(0).setAttribute('id','peugeot-com-pl');if (document.location.href.indexOf('7thguard.net/') != -1) document.getElementsByTagName('body').item(0).setAttribute('id','thguard-net');");
content:"";
}

quiris napisał(a):

I już jest. Święty Graal wink:

body:before { 
position: absolute; visibility: hidden; 
background-image: url("java[b][/b]script:if (document.location.href.indexOf('peugeot.pl/') != -1) document.getElementsByTagName('body').item(0).setAttribute('id','peugeot-com-pl');if (document.location.href.indexOf('7thguard.net/') != -1) document.getElementsByTagName('body').item(0).setAttribute('id','thguard-net');");
content:"";}

#peugeot-com-pl #head2 form {float:right !important; }
#peugeot-com-pl iframe {display:none !important;}

#thguard-net * {line-height: 150% !important;}
#thguard-net p, #thguard-net div, #thguard-net br {font-size: 13px !important; }


To jest zawartość pliku fix.css (nazwa nie jest istotna oczywiście wink) Co my tam mamy. Mamy przy pomocy arkusza stylów wstrzyknięty kod JS. Sam ten pomysł nie jest oczywiście nowy, bo pochodzi z alternatywnej metody No Flash. Wykorzystałem go nadawania znacznikowi body określonego id przy pomocy:
document.getElementsByTagName('body').item(0).setAttribute('id','peugeot-com-pl');

Skąd Opera ma wiedzieć, że danej stronie ma nadać odpowiedni ID? W bardzo prosty sposób. Odczytywany jest document.location.href i badana jest obecność określonego łańcucha znaków w URL:
if (document.location.href.indexOf('7thguard.net/') != -1)


W powyższym przykładzie mamy generowane dwa id dla stron www.peugeot.pl oraz www.7thguard.net. Mając ID jesteśmy już w domu cool i stylujemy co nam się żywnie podoba bigsmile

Uwaga!
1) Po każdej zmianie i zapisaniu pliku fix.css(edytować można bez wyłączania Opery) należy przeładować plik w Operze wyłączając i włączając przycisk Fix (ten przycisk działa jeśli plik fix.css jest 17 z kolei plikem userstyle). Dodatkowo jeśli dłubiemy coś w kodzie JS to docelową stronę również trzeba odświeżyć. W przypadku dłubania w samych stylach nie jest to konieczne. Wystarczy wyłączenie i włączenie przycisku.
2) Dłubanie w Preferencjach skutkuje wyłączaniem efektu działania przycisku Fix. Trzeba przeładować plik fix.css i stronę.

quiris napisał(a):

Zestaw fixów poprawiających wygląd Gmaila w Operze (przerwa w pasku menu oraz malutkie przyciski):

body#gmail-google-com {padding: 0;}
#gmail-google-com button {padding: 3px !important; }


Niestety z powodu błędu: http://my.opera.com/forums/showthread.php?s=&threadid=80338 przyciski te są odrobinę za wysoko i nie da się ich sensownie skorygować CSS-em sad

Nasty napisał(a):

Originally posted by quiris
Zestaw fixów poprawiających wygląd Gmaila w Operze


Zdaje się, że rozkręca nam się nowa świecka tradycja - Jakaś strona Ci się źle wyświetla? Zgłoś się do nas, a dostaniesz na nią łatkę! bigsmile faint drunk

lockoom napisał(a):

Originally posted by Jakub81
Wszystko fajnie... tylko, że to zmienia styl tylko dla głównej strony.


No raczej nie bardzo. Ja myślałem, że dla niektórych problemem będzie, że zmienia dla całej domeny, a tu niespodzianka smile

Originally posted by quiris
Jedno pytanie. Co się dzieje, gdy dana strona posiada już stosowne id wink ?


Wkleiłem złą wersję skryptu smile Ta właściwa (z poprawkami) poniżej. Choć istniało duże prawdopodobieństwo, że jeśli strona miała id w body to było one zgodne z moim smile

Poprawiona wersja działa natychmiastowo (a nie po załadowaniu dokumentu), sprawdza czy przypadkiem strona już nie zawiera id, poprawiłem też głupi błąd powojący usunięcie "www." nie tylko z początku domeny, domeny zaczynające się od cyfry mają id poprzedzone podkreślnikiem "_".
body:before {
   position: absolute; visibility: hidden; 
   background-image: url("java[b][/b]script:if(!document.body.hasAttribute('id')){document.body.setAttribute('id', document.location.href.split('/')[2].replace(/^(www\.)?/, '').replace(/^([0-9])/, '_$1').replace(/\\./g, '-'))}");
   content: "";
}

quiris napisał(a):

Poprawiona wersja działa natychmiastowo (a nie po załadowaniu dokumentu), sprawdza czy przypadkiem strona już nie zawiera id, poprawiłem też głupi błąd powojący usunięcie "www." nie tylko z początku domeny, domeny zaczynające się od cyfry mają id poprzedzone podkreślnikiem "_".

No po prostu piękne partycheers Podziwiam, że chciało Ci się siedzieć nad tym do trzeciej w nocy cheers
PS. Poprawiłem spację w słowie javascript wink

Jakub81 napisał(a):

A u mnie nie działa!!! sad A "normalne" style bez ID wp-pl wchodzą. Opera 7.54.


body:before {
   position: absolute; visibility: hidden; 
   background-image: url("javascript:if(!document.body.hasAttribute('id')){document.body.setAttribute('id', document.location.href.split('/')[2].replace(/^(www\.)?/, '').replace(/^([0-9])/, '_$1').replace(/\\./g, '-'))}");
   content: "";
}

#wp-pl a {font-size: 20px !important;}

a {color: red !important;}




EDIT: no tak. Sprawdziłem w Operze 8beta i działa.

quiris napisał(a):

Fixy do nvidia.com i do weblogs.mozillazine.org/ben/

body#weblogs-mozillazine-org, body#nvidia-com {padding: 0;}

quiris napisał(a):

no tak. Sprawdziłem w Operze 8beta i działa.

Wiadomo Ósemka rulez wink

mina86 napisał(a):

A jednak ten CSS jest beznadziejny... w HTML-u ID może mieć korpkę, a tuaj tandeta... W ogóle to podkreślenieei n może występować jako pierwszy znak identyfikatora w HTML-u. Tak czy owak, oto moja wersja skryptu:

body:before {
   position: absolute; visibility: hidden; content: '';
   background-image: url("javascript:if(!document.body.hasAttribute('id'))document.body.setAttribute('id','I-'+document.location.host.replace(/^www\./,'').replace(/./g,'_'));");
}


Dlaczego mój skrypt jest lepszy? wink Jest krótszy oraz generuje unikalne ID dla każdego hosta (z pominięciem początkowego www.). Wygenerowany ID zaczyna się od 'I-' (dzięki czemu pomija się problem nierpawidłowych znaków na początku)i każda kropka jest zamieniana na podkreślenie, dzieki czemu hosty: foo.bar.com oraz foo-bar.com mają różne identyfikatory).

Co do problemu z podstronami serwisu, to propozycją moją jest dodawanie jeszcze odpowiednich klas dla każdego katalogu, czyli body na stronie http://weblogs.mozillazine.org/ben/ otrzymałoby ID (wg. mojego skryptu) I-weblogs_mozillazine_org oraz klasę I-ben.

-- dopisek --
Aha, jeszcze jedno, quiris, masz gdzieś linka do jakiegoś opisu tej techniki nadawania unikalnych identyfikatorów, czy jest to taki niepisany zwyczaj?

quiris napisał(a):

W ogóle to podkreślenieei n może występować jako pierwszy znak identyfikatora w HTML-u.

W CSS może: http://www.w3.org/TR/CSS21/syndata.html#q6 I świetnie to działa.

Poza tym dzięki za nową ciekawą koncepcję cheers

Jakub81 napisał(a):

IMO ten graal CSS to tak doniosły wynalazek, że warto byłoby napisać o nim na angielskim forum customizacji.

quiris napisał(a):

Aha, jeszcze jedno, quiris, masz gdzieś linka do jakiegoś opisu tej techniki nadawania unikalnych identyfikatorów, czy jest to taki niepisany zwyczaj?

Idąc tropem naszego nieocenionego Łosia: http://www.literarymoose.info/-/item/freedom trafiłem na http://meyerweb.com/eric/thoughts/2004/06/18/elemental-nomenclature/ i stamtąd do listu http://archivist.incutio.com/viewlist/css-discuss/13291, który po raz pierwszy wspomina o technice Sygnatur CSS.

lockoom napisał(a):

A jednak ten CSS jest beznadziejny... w HTML-u ID może mieć korpkę, a tuaj tandeta...


No tak to przekreśla użyteczność CSS wink

Aha, jeszcze jedno, quiris, masz gdzieś linka do jakiegoś opisu tej techniki nadawania unikalnych identyfikatorów, czy jest to taki niepisany zwyczaj?


Z tego co pamiętam to zwie się to CSS Signature i chyba jest po prostu zalecanym, dobrym zwyczajem.

Faktycznie zastosowanie document.location.host zamiat d.l.href ma sens, ale co do reszty to się nie zgadzam. CSS-Signature ma być prostą transformacją domeny na identyfikator. Już moje dodawanie podkreślinika mi się nie podobało, a dopisywanie jakichś I-... brr smile
Do podkatalogów lepiej nadaje się wersja quirisa, można w JS zapisać odpowiedni warunek dla danej domeny/ścieżki. Ale można by ją jakoś wygładzić, żeby nie było ciągów "if". Może 2 tablice jedna z domeną (+ew. ścieżka) i druga z nazwami selektorów? smile

quiris napisał(a):

Faktycznie zastosowanie document.location.host zamiat d.l.href ma sens, ale co do reszty się nie zgadzam.

Z trzech istniejących opcji najbardziej podoby mi się wersja lockooma. Prosta (ograniczone możliwości pojawienia się potencjalnych bugów) i skuteczna. Spełnia 95% moich oczekiwań.

quiris napisał(a):

IMO ten graal CSS to tak doniosły wynalazek, że warto byłoby napisać o nim na angielskim forum customizacji.

Skaleczyłem po angielsku w swoim żurnalu: http://my.opera.com/quiris/journal/54, ale albo tak bez sensu napisałem, że nic nie jest zrozumiałe, albo zainteresowanie jest nikłe wink

mina86 napisał(a):

lockoom, "Już moje dodawanie podkreślinika mi się nie podobało, a dopisywanie jakichś I-... brr smile"
A IMO jest to bardzo sensowne, bo dzięki temu (nie dość, że nie trzeba się już obawiać cyferek to jeszcze) w akruszy stylów wyraźnie widać, które identyfikatory są wygenerowane skryptem, a które są świadomoą decyzją autora strony. Osobiście jedyne co mi się w moim skrypcie nie podoba to podkreślenie zamiast kropek, bo osobiście nie lubię podkreślenia wink Brzydko wygląda p

Co do zabawy w jaies tablice, to osobiście uważam, że lepiej jest napisać ogólny skrypt, który będzie działał dla każdej strony, a potem tylko style dodwać, niż za każdym razem bawić się w jakieś dodawanie domen i ścieżek...

mina86 napisał(a):

quiris, to chociż zamiast document.location.href.split('/')[2].replace(/^(www.)?/, '') użyj: document.location.host.replace(/^www\./, '') bo tutaj chyba każdy się zgodzi, że moje jest ładniejsze p

andol napisał(a):

Originally posted by quiris
Skaleczyłem po angielsku w swoim żurnalu: http://my.opera.com/quiris/journal/54, ale albo tak bez sensu napisałem, że nic nie jest zrozumiałe, albo zainteresowanie jest nikłe wink



Operowe blogi nie mają zbyt dużej oglądalności. Szczegółowe statystyki znajdują się tutaj: http://my.opera.com/community/stats/. Polecam sekcję Most popular per day .... Najwięcej wizyt dziennie zalicza blog saito. Całe 66. wink

quiris napisał(a):

Ok. Czyli mino86-lockoomowy kod ma teraz postać:

body:before {
   position: absolute; visibility: hidden; 
   background-image: url("java[b][/b]script:if(!document.body.hasAttribute('id')){document.body.setAttribute('id', document.location.host.replace(/^www\./,'').replace(/^([0-9])/, '_$1').replace(/\\./g, '-'))}");
   content: "";
}

Zgadza się?

mina86 napisał(a):

if(!document.body.hasAttribute('id'))document.body.setAttribute('id','I-'+document.location.host.replace(/^www\./,'').replace('.','_'));var path=document.location.pathname.split('/'),cls='I';for(var i=1;i<path.length;++i)alert(cls+='-'+path.replace(/[^a-z\d]]/ig, '_'));

Ten alert z końca trzeba tylko zamienić na jakąś mądrą funkcję, ktora dodan klase i będzie gotowe...

-- dopisek --
Jak już walczymy o każdy znaczek (likwidujemy spacje, etc, etc) to lepiej dać tak:

body:before {
   position: absolute; visibility: hidden; content: '';
   background: url("java[b][/b]script:if(!document.body.hasAttribute('id'))document.body.setAttribute('id',document.location.host.replace(/^www\./,'').replace(/^(\d)/, '_$1').replace(/\\./g, '-'))");
}

p

quiris napisał(a):

Operowe blogi nie mają zbyt dużej oglądalności. Szczegółowe statystyki znajdują się tutaj: http://my.opera.com/community/stats/. Polecam sekcję Most popular per day .... Najwięcej wizyt dziennie zalicza blog saito. Całe 66

No tak sad No to trzeba na forum Customize dać cynk cool

quiris napisał(a):

likwidujemy spacje

Tu chodzi o to, że to forum wstawia spację w słowie javascript. Jak ktoś na żywca skopiuje to mu oczywiście kod nie będzie działał;) A spacje likwidujemy wstawiając pustą znak formatowania w słowie javascript np. [ b ][/ b]

mina86 napisał(a):

quiris, nie w tym rzecz.. Chodziło mi o to, że skoro ten kod JS piszemy tak żeby zajmował jak najmniej miejsca (if( zamaist if (, brak spacji po przecinkach) to można zaoszczędzić jeszzce kilka znaków wink

quiris napisał(a):

Jak już walczymy o każdy znaczek (likwidujemy spacje, etc, etc) to lepiej dać tak:

No coś te optymalizacje popsuły, bo nie działa p

lockoom napisał(a):

oki, czyli robimy ultrapacka smile

body:before {
   position: absolute; visibility: hidden; 
   background-image: url("java[b][/b]script:with(document.body)if(!hasAttribute('id'))setAttribute('id',location.host.replace(/^www\\./,'').replace(/^\\d/,'_$&').replace(/\\./g,'-'))");
   content: "";
}


/edit: Poprawione zgodnie z poniższą sugestią.

mina86 napisał(a):

Fakt.. zapomniałem, że tutaj trzeba unikać dwa razy, zatem można zastąpić to: replace(/^[0-9]/,'_$&') tym: replace(/^\\d/,'_$&')

lockoom napisał(a):

quiris w twoim blogu wcięło znaki ucieczki sprzed kropek. Tak jak napisał mina86 wszędzie musi być podwójne escapowanie co mi wcześniej w niektórych miejscach zapomniało np.: replace(/^www\./, '') zamieniało wwwbezkropki.pl -> ezkropki.pl

quiris napisał(a):

quiris w twoim blogu wcięło znaki ucieczki sprzed kropek.

To wina żurnala :-/

lockoom napisał(a):

Poprawiłeś, ale nie do końca smile Musi być podwójne escapowanie, czyli \\. i \\d

quiris napisał(a):

Poprawiłeś, ale nie do końca Musi być podwójne escapowanie, czyli \\. i \\d

Przecież pisałem, że to wina żurnala i jego braków wink. Dałem odnośnik do posta na naszym forum.

janbar napisał(a):

No dobrze, ale czy powyzsze bedzie tylko dla 8-ki dzialac ?
A cos dla O 7.54u2 sie znajdzie ? wink

Pozdrawiam,

janbar.smile)

quiris napisał(a):

A cos dla O 7.54u2 sie znajdzie ?

Przykro mi, ale dla mnie 7.5x nie istnieje sad Może koledzy spróbują wink

TomekQ napisał(a):

quiris sam podales rozwiazanie dzialajace na 7.5xidea, nie jest tak wygodne, ale dziala.

quiris napisał(a):

Originally posted by quiris
Zestaw fixów poprawiających wygląd Gmaila w Operze (przerwa w pasku menu oraz malutkie przyciski):

body#gmail-google-com {padding: 0;}
#gmail-google-com button {padding: 3px !important; }


Niestety z powodu błędu: http://my.opera.com/forums/showthread.php?s=&threadid=80338 przyciski te są odrobinę za wysoko i nie da się ich sensownie skorygować CSS-em sad

No pięknie. W najnowszej Operze 8.0 beta 2 przyciski już się ładnie korygują CSS-em i widać, że GMail korektę stosowną posiada, ponieważ wystarczy dodać powyższy padding a przyciski wreszcie wyglądają po ludzku bigsmile Po co padding ano po to, że Opera jest chyba jedyną przeglądarką respektującą padding na przyciskach <button> a na GMailu mamy bezsensownie narzucony padding zerowy. Co oczywiście nie dotyka innych przeglądarek, które ten fakt ignorują.

PS. Można nawet dać 5px zamiast 3px wink

quiris napisał(a):

Jeszcze screen dam z radości, bo te przyciski tak mnie drażniły, że szok bigsmile

7screen.png

ben4alfa napisał(a):

Mam propozycję
- dodać może tego CSS (Unikalne ID) + fix do GMail'a do wątku
Superwątek - Style Użytkownika

quiris napisał(a):

Troche fixów:

http://msdn.microsoft.com
1) do ua.ini dopisujemy:

msdn.microsoft.com=2

2) do fix.css dopisujemy:
body#msdn-microsoft-com p  {font-size: 11px !important; } 
body#msdn-microsoft-com td.eyebrow  {font-size: 11px !important; } 
body#msdn-microsoft-com h1  {font-size: 16px !important; font-weight: bold !important;} 


www.nzone.com
1) Do ua.ini dopisujemy:
nzone.com=3

quiris napisał(a):

Fix na DoSzałuDoprowadzającyNieustannieCoPółSekundyŁadującySię skrypt livechata na helion.pl:

body#helion-pl:after { 
	position: absolute; visibility: hidden;
	background-image: url("java[b][/b]script:function lc_send_message() {};");
	content: "";
}

TomekQ napisał(a):

Hmmm moze przy pomocy css+js daloby sie zmieniac target="_blank" na target="_self"? w koncu po to uzywamy Opery, zeby decydowac co gdzie sie otwiera;).

quiris napisał(a):

Originally posted by TomekQ
Hmmm moze przy pomocy css+js daloby sie zmieniac target="_blank" na target="_self"? w koncu po to uzywamy Opery, zeby decydowac co gdzie sie otwiera;).

Proszę bardzo cool:
body:after { 
	position: absolute; visibility: hidden;
	background-image: url("java[b][/b]script:var anchors = document.getElementsByTagName('a');for(var i=0; i<anchors.length; i++){anchors[i].removeAttribute('target')};");
	content: "";
}


Z tym, że trzeba uważać na inne filtry jaki posiadamy. Np. ten gryzłby się z filtrem na helion. Można oczywiście łączyć instrukcje. Np.
var anchors = document.getElementsByTagName('a');for(var i=0; i<anchors.length; i++){anchors[i].removeAttribute('target')};
można dołączyć do ogólnego skryptu generującego sygnaturę:
body:before {
   position: absolute; visibility: hidden; 
   background-image: url("javas[b][/b]cript:var anchors = document.getElementsByTagName('a');for(var i=0; i<anchors.length; i++){anchors[i].removeAttribute('target')};if(!document.body.hasAttribute('id')){document.body.setAttribute('id', document.location.host.replace(/^www\./,'').replace(/^([0-9])/, '_$1').replace(/\\./g, '-'))}");
   content: "";

TomekQ napisał(a):

Originally posted by quiris
Proszę bardzo cool:

dzieki, Proxomitron juz wylecial z autostartu;-)

mina86 napisał(a):

Zawsze można zagneiżdzać bofeore, np:

body:before { costam }
body:before:before { costam }
body:before:after { costam }

Moose napisał(a):

Originally posted by mina86
Zawsze można zagneiżdzać bofeore, np:

body:before { costam }
body:before:before { costam }
body:before:after { costam }



To jest invalid.

M.

mina86 napisał(a):

Hmmm.. O ile pamiętam coś takiego używałeś...

Moose napisał(a):

Originally posted by mina86
Hmmm.. O ile pamiętam coś takiego używałeś...



Tak (w jednym tylko eksperymencie), by w nieco wredny sposob pokazac, ze Opera wspiera konstrukt, ktorego nie powinna byla. Dodalem z milion, metoda 'reductio ad absurdum' wink

M.

adas napisał(a):

Originally posted by quiris
Proszę bardzo cool:

body:after { 
	position: absolute; visibility: hidden;
	background-image: url("javascript:var anchors = document.getElementsByTagName('a');for(var i=0; i<anchors.length; i++){anchors.removeAttribute('target')};");
content: "";
}


Normalnie to trzebe rozgłosić gdzieś... party beer beer yes wizard
Serdecznie dziękuje bigsmile Aż sobie takiego wpisa do joga zrobię zaraz...

Nixer napisał(a):

Ja w tym momencie opłakuję Twoje skUtki, quiris happy

quiris napisał(a):

Proszę bardzo


Ponieważ wycinanie wszystkich atrybutów target może mieć opłakane skutki na stronach z ramkami, dlatego proponuję drugą wersję wycinającą tylko target=_blank:
body:after { 
position: absolute; visibility: hidden;
background-image: url("java[b][/b]script: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')}};");
content: "";
}

adas napisał(a):

"Z mną" ??? wink

quiris napisał(a):

Originally posted by Nixer
Ja w tym momencie opłakuję Twoje skUtki, quiris happy

Kurcze... To jakiś spell hunting ze mną w roli zająca wink

ben4alfa napisał(a):

Mam jedno pytanko
czy da się za pomocą unikalnego ID i dodatkowych wpisów do np.: fix.css poprawiać kodowanie znaków na stronie ??

Chyba że to moja Opera 8 Beta 2 coś miesza ze stronką http://f1ultra.com/magazyn/ przy kodowaniu ustawionym na Automatyczny ?

quiris napisał(a):

Chyba że to moja Opera 8 Beta 2 coś miesza ze stronką http://f1ultra.com/magazyn/ przy kodowaniu ustawionym na Automatyczny ?

Tu nic się nie da zrobić. Serwer WWW podaje kodowanie Windows-1250, które ma wyższy priorytet na tym prawidłowym iso-8859-2 zadeklarowanym przez autora strony. Jedynie można poprawić konfigurację serwera. A użytkownikowi Opery pozostaje ręcznie włączyć kodowanie iso-8859-2 :-/

Mayor napisał(a):

Originally posted by ben4alfa
Mam propozycję
- dodać może tego CSS (Unikalne ID) + fix do GMail'a do wątku
Superwątek - Style Użytkownika

wg. mnie ten Graal jest na tyle odkrywczy że nie można go wrzucać do jednego wora pod nazwą "CSS" bo potem odnalezienie się w wątku z tysiącem odpowiedzi już do łatwych nie należy
rozwiązania typu 'rewolucyjne' zasługują na oddzielny wątek wink

quiris napisał(a):

wg. mnie ten Graal jest na tyle odkrywczy że nie można go wrzucać do jednego wora pod nazwą "CSS" bo potem odnalezienie się w wątku z tysiącem odpowiedzi już do łatwych nie należy
rozwiązania typu 'rewolucyjne' zasługują na oddzielny wątek

Tym bardziej, że w wątku Style Użytkownika gospodarzem jest Moose, który ze względów ideologicznych (wrodzony javascriptwstręt) nie cierpi tego rozwiązania wink Dlatego grubym nietaktem byłoby połączenie obu wątków wink

TomekQ napisał(a):

pytania dotyczace tej metody:
1) czy mozna wykorzystac ja do nadawania sygnatury dla danego zbioru mniejszego niz domena (zeby dla www.jakisadres.pl/informacje uzywac innego css niz www.jakisadres.pl/opis)?
2) czy jest mozliwe wlaczenie flasha tylko dla niektorych stron? Wylaczenie jest mozliwe przy pomocy np.

#onet-pl embed[type="application/x-shockwave-flash"], 
object[type="application/x-shockwave-flash"], 
object[classid="clsid:[b][/b]D27CDB6E-AE6D-11cf-96B8-444553540000"] { 
display: none !important; }
ale nie wymyslilem jak wlaczyc (proba nadawania innej wartosci display nie podzialala).

Nastepne pytanie dotyczy w zasadzie czystego css, ale mam nadzieje, ze moderatorzy nie zjedza mnie za napisanie ich tutaj:
3)czemu kod
[src~="http://info.onet.pl/"]{
display: none !important; 
}
nie powoduje znikania obrazka z atrybutem src=http://info.onet.pl/_i/galeria1/0502/papiez_klinika_27/4m.jpg, podczas gdy uzycie "~=" w stylu do wylaczania reklam liska pokazanym przez Moosea powoduje wylaczanie wszystkiego z parametrem alt _zawierajacym_ slowo firefox. Byc moze zle rozumiem zastosowanie "~=", ale gdyby to jednak dzialalo to moznaby zrezygnowac z filter.ini i filtrowac strony na zywo smile .

<OT id="1">czemu ten watek nie jest oznaczony jako superwatek i wspomniany w "Jak korzystać z forum oraz odpowiedzi na najczęściej zadawane pytania"?</OT>
<OT id="2">moze Opera ASA uwzgledni fakt, ze polskie forum jest najaktywniejsze ze wszystkich for jezykowych i przydzieli kilka podfor, moznaby dzieki temu miec jedno podforum tylko na usprawnienia przegladania sieci smile </OT>

Moose napisał(a):

Originally posted by TomekQ
Nastepne pytanie dotyczy w zasadzie czystego css, ale mam nadzieje, ze moderatorzy nie zjedza mnie za napisanie ich tutaj:



Owszem zjedza (jak skoncza doprawiac kotlety schabowe w innym watku) smile


3)czemu kod

[src~="http://info.onet.pl/"]{
display: none !important; 
}
nie powoduje znikania obrazka z atrybutem src=http://info.onet.pl/_i/galeria1/0502/papiez_klinika_27/4m.jpg, podczas gdy uzycie "~=" w stylu do wylaczania reklam liska pokazanym przez Moosea powoduje wylaczanie wszystkiego z parametrem alt _zawierajacym_ slowo firefox. Byc moze zle rozumiem zastosowanie "~=", ale gdyby to jednak dzialalo to moznaby zrezygnowac z filter.ini i filtrowac strony na zywo smile .



To nie ma prawa dzialac.

[attribute~=value] to attribute selector, ktory wybiera elementy, ktorych ATTRIBUTE VALUE jest spacjowana lista, z ktorych dokladnie jedna ma wartosc VALUE. Poniewaz wartoscia HREF jest zawsze jeden string (czyli nie moze byc href="tutaj tam", a linki sa unikatowo okreslone (sa odwzorowaniem 1:1), ten selector albo pasuje, albo nie. To samo dotyczy SRC w images.

jesli chcesz zlapac oba takie za pomoca jednego selectora:

href="http://example.com/moose"
href="http://example.com/michelle"

to musisz uzywac CSS3 substring attribute selectors, ktorych... Opera nie wspiera.

M.

Moose napisał(a):

Dlatego tez pisalem miliony razy, ze aby miec super-duper adblock w Operze, wystarczy support dla CSS3 Selectors module...

M.

TomekQ napisał(a):

Dziekuje za odpowiedz. Szkoda, ze na razie nie mozna, ale moze w przyszlosci.

quiris napisał(a):

1) czy mozna wykorzystac ja do nadawania sygnatury dla danego zbioru mniejszego niz domena (zeby dla www.jakisadres.pl/informacje uzywac innego css niz www.jakisadres.pl/opis)?

Można. Takie rozwiązanie proponował Mina86. Może jak będzie miał chwilkę to skrobnie wink

ale nie wymyslilem jak wlaczyc (proba nadawania innej wartosci display nie podzialala)

Z moich doświadczeń wynika, że display:inline !important; działa prawidłowo

<OT id="1">czemu ten watek nie jest oznaczony jako superwatek i wspomniany w "Jak korzystać z forum oraz odpowiedzi na najczęściej zadawane pytania"?</OT>

Ponieważ uważam osobiście, że najpierw musi być szerokie zainteresowanie użytkowników, którzy wykreują taki superwątek, a dopiero potem formalnie w drodze decyzji administracyjnej można dopisać słowo superwątek wink

<OT id="2">moze Opera ASA uwzgledni fakt, ze polskie forum jest najaktywniejsze ze wszystkich for jezykowych i przydzieli kilka podfor, moznaby dzieki temu miec jedno podforum tylko na usprawnienia przegladania sieci </OT>

Oby... smile

quiris napisał(a):

Originally posted by andol
Operowe blogi nie mają zbyt dużej oglądalności. Szczegółowe statystyki znajdują się tutaj: http://my.opera.com/community/stats/. Polecam sekcję Most popular per day .... Najwięcej wizyt dziennie zalicza blog saito. Całe 66. wink

Zamieniłem dziś słowo ze stephanem i okazuje się, że do ogólnych statystyk oglądalności danego żurnala brane są tylko wizyty na stronie głównej żurnala czyli http://my.opera.com/quiris/journal/ Nie brane są pod uwagę wejścia z bezpośrednich linków do postów, czyli wejścia http://my.opera.com/quiris/journal/60 z nie są brane pod uwagę faint

Na szczęście niedługo już webmasterzy Opery tchną w żurnale nowe życie smile

janbar napisał(a):

Originally posted by Moose
Dlatego tez pisalem miliony razy, ze aby miec super-duper adblock w Operze, wystarczy support dla CSS3 Selectors module...

M.



A moze jednak da sie jakas wtyczke napisac do tego ?
Czy nie mozna tego jednak jakos programowo analizowac i realizowac takich blokad ? Pytanie do to kieruje do wszystkich szpecow css i jezykow skryptowych tudej... wink

Pozdrawiam,

janbar.smile)

quiris napisał(a):

Czy nie mozna tego jednak jakos programowo analizowac i realizowac takich blokad ? Pytanie do to kieruje do wszystkich szpecow css i jezykow skryptowych tudej...

A ten wątek to zając?

porneL napisał(a):

Może na WWW ktoś wrzuci "hotfixy zebrane"?

Może nawet z formularzem do zgłaszania nowych fixów i poprawek już zamieszczonych? smile

Ultrazbig napisał(a):

porneL +1

Pozdarawiam
Zbyszek

TomekQ napisał(a):

Proponuje drobne porzadki zwiazane z powstaniem obslugi js uzytkownika. Mozna by do tamtego watku dodac odpowiednio przerobione style odpowiedzialne za obsluge js dodac do watku o js, a poprawki dotyczace stron uzywajace tej wygenerowanej sygnatury przeniesc do watku Superwatek - style uzytkownika (oczywiscie jesli Moose sie zgodzi, choc teraz nie bedzie mial js w swoim watku), z zastrzezeniem, ze potrzeba do uzywania ich odpowiedniego skryptu w user.js.

adas napisał(a):

Originally posted by porneL
Może na WWW ktoś wrzuci "hotfixy zebrane"?

Może nawet z formularzem do zgłaszania nowych fixów i poprawek już zamieszczonych? smile


Może tu:
http://nontroppo.org/wiki/StyleCSS ?

janbar napisał(a):

Originally posted by quiris
A ten wątek to zając?



Nie o to mi chodzilo - raczej o rozpoznawanie CSS 3 selectors przez jakis program i zrealizowanie w oparciu o to adblockera, ktory funkcjonalnoscia dorownywalby, a najlepiej przewyzszal wink Adblockera do FF . smile

Pozdrawiam,

janbar.smile)