The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features

See the new Forums

Jak blokować CSSy?

Forums » Forum Opery » Aplikacje dla Opery

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

23. November 2011, 22:40:37

maxkonrad

Posts: 122

Jak blokować CSSy?

Używałem do tej pory do blokowania CSSów rozszerzenia ContentBlockHelper, jednak zostało ono usunięte ze stron Opery. Bardzo wygodną była opcja blokowania CSSów. Po prostu klikało się na pole, którego nie chcieliśmy widzieć i zatwierdzaliśmy i było OK. Czy jest może jakieś rozszerzenie, które działa podobnie? Jeśli nie, to czy mógłby ktoś pokierować mnie jak blokować CSS na określonej stronie? Do ContentBlockHelper wolałbym nie wracać, bo powodowało inne problemy.

23. November 2011, 23:38:25

zielak007

Posts: 803

Opera Dragonfly (Ctrl+Shift+I). Klikasz na niepożądany element, znajdujesz jego identyfikator (a w przypadku jego braku odpowiednie połączenie selektorów, aby jednoznacznie wskazać dany element), dodajesz odpowiednie zaklęcie, zapisujesz jako .css i wskazujesz w Preferencjach dla witryny jako arkusz stylów (lub dodajesz do menu stylów). Np:
@charset "utf-8";
/*	Name: Znikaj	*/
#identyfikator1, #identyfikator2, .ads a {
	display: none !important;
	}
W sytuacjach, gdy styl jest niewystarczający można zrobić skrypt.

24. November 2011, 10:04:58

maxkonrad

Posts: 122

WOW to działa. Dzięki za rzeczową odpowiedź. Czy jest gdzieś miejsce, gdzie można pobrać takie pliki dla najpopularniejszych witryn w sieci? Czy sam muszę je naskrobać? I czy dla jednej strony musi być jeden plik, czy może można umieścić reguły dla wielu stron w jednym pliku - coś jak blokowanie zawartości w Operze?

24. November 2011, 10:48:19

zielak007

Posts: 803

Są: http://userstyles.org/, http://extendopera.org/css czy też wątki na forum. Zależy co chcesz zmieniać lub zablokować na stronie. W większości przypadków, jeśli są to drobne wycinanki, szybciej sam napiszesz styl niż znajdziesz gotowy. Reguły możesz stosować dla wielu stron, ale istnieje wtedy ryzyko, że na niektórych stronach zniknie potrzeba treść. Możesz je zapisywać w pliku user.css, który jest tutaj: opera:config#UserPrefs|LocalCSSFile (wtedy działa na wszystkich stronach bez możliwości wyłączenia) lub tworzyć osobne pliki w katalogu opera:config#UserPrefs|LocalCSSFilesDirectory (wtedy możesz je włączać i wyłączać z menu WidokStylNazwa stylu, gdzie nazwa stylu pochodzi z
/*	Name: Nazwa 	*/
). W obu przypadkach wymagany jest restart przeglądarki, gdy dokonywane są zmiany w stylach.

24. November 2011, 11:11:16

Originally posted by maxkonrad:

Czy jest gdzieś miejsce, gdzie można pobrać takie pliki dla najpopularniejszych witryn w sieci?

Możesz zajrzeć na wpis o blokowaniu reklam na blogu Karola. Są tam style do blokowania reklam na sporej ilości stron i tzw. "AdBlock-CSS", czyli blokowanie reklam z wielu stron w jednym pliku CSS.

29. November 2011, 22:06:20

filip3434

Posts: 119

Istnieje dodatek do przegądarki NoAds, ma funkcję blokowania elementów stron. Wystarczy wcisnąć kombinacje klawiszy Alt+Shift+B i już możemy blokować.

https://addons.opera.com/pl/addons/extensions/details/noads-multilingual-german/1.0.99/?display=en

30. November 2011, 17:01:43

maxkonrad

Posts: 122

Temat ten założyłem po to by dowiedzieć się jak blokować elementy unikając właśnie m.in. tego dodatku i innych podobnych, ponieważ powodują one problemy.

30. November 2011, 18:04:53

filip3434

Posts: 119

Problemy? Jakie na przykład? Bo ja nie widzę takich u siebie wink

30. November 2011, 20:38:34

maxkonrad

Posts: 122

Jeśli jakaś strona bez powodu przestanie się otwierać, a otwierała się zawsze, nawet pomimo tego że nic na niej nie blokowałeś, to to będzie właśnie ten problem. U mnie tak się zdarzyło.

21. December 2011, 14:10:43

maxkonrad

Posts: 122

Originally posted by zielak007:

Opera Dragonfly (Ctrl+Shift+I). Klikasz na niepożądany element, znajdujesz jego identyfikator (a w przypadku jego braku odpowiednie połączenie selektorów, aby jednoznacznie wskazać dany element), dodajesz odpowiednie zaklęcie, zapisujesz jako .css i wskazujesz w Preferencjach dla witryny jako arkusz stylów (lub dodajesz do menu stylów). Np:

@charset "utf-8";
/*	Name: Znikaj	*/
#identyfikator1, #identyfikator2, .ads a {
	display: none !important;
	}
W sytuacjach, gdy styl jest niewystarczający można zrobić skrypt.



Dzięki za to, działa bardzo ładnie. Mam pytanie: jeśli akurat element, który chcę zablokować nie ma własnego "id", opisuje go tylko coś takiego:
<div class="resultadv2" style="width:300px;padding:10px 0;">
to jak mam to zablokować w tym pliku?

21. December 2011, 14:26:52

zielak007

Posts: 803

Wystarczy samo:
.resultadv2
Ale może blokować zbyt wiele, więc trzeba tak:
div[class="resultadv2"][style="width:300px;padding:10px 0;"]
Tylko jeśli coś zmienią w stylu, to trzeba będzie poprawić regułkę.

21. December 2011, 16:20:09 (edited)

maxkonrad

Posts: 122

Mam taki przykład z tej strony: http://www.megashare.com/3800452
Chciałbym zablokować trzy pola z reklamami jedno na górze i dwa na dole. Widzę, że za każde takie pole odpowiada:

<div calss="freewhitebox">

Stworzyłem więc w pliku taką regułę:

@charset "utf-8";
/*	Name: Znikaj	*/
#.freewhitebox, .ads a {
	display: none !important;
	}

Niestety nie działa.

Również taka formuła nie działa:
@charset "utf-8";
/*	Name: Znikaj	*/
#div[calss="freewhitebox"], .ads a {
	display: none !important;
	}


21. December 2011, 16:35:24 (edited)

zielak007

Posts: 803

Bo # w CSS to identyfikator (id) a . to klasa (class) a Ty to łączysz. Poczytaj. smile Spróbuj:
.freewhitebox

Edycja: .ads a podałem tylko jako przykład. smile W drugim przypadku powinno być:
div[class="freewhitebox"]
Poczytaj jednak cały rozdział dotyczący CSS. bigsmile

21. December 2011, 17:13:26

maxkonrad

Posts: 122

Dzięki! Ta informacja mi pomogła:
# - identyfikator
. - klasa
Teraz wszystko ładnie poblokowało.

2. January 2012, 00:03:49

maxkonrad

Posts: 122

Da się za pomocą CSS-ów zablokować iframe?

2. January 2012, 06:56:09

Ryszard

Opera Mobile Classic, desktop - 12.16

Posts: 9320

Da się, ale lepiej to zrobić przez zablokowanie adresu.

N49°45'15" E21°28'54"
1%

2. January 2012, 09:37:15

Da się też zablokować wszystkie pływające ramki przez preferencje: Zaawansowane > Zawartość > Opcje stylów lub opera:config#Extensions|IFrames. Jest też opcja w preferencjach dla witryny.

Takie zablokowanie pływających ramek powodowało kiedyś jednak (nie wiem jak teraz), że nie działał GMail ani NK i nie było nawet komunikatu o przyczynie problemu. Dlatego jak jakaś strona nie działa, to trzeba sobie skojarzyć tę opcję smile.

2. January 2012, 20:11:18

maxkonrad

Posts: 122

A ja się tutaj męczę z CSS... Dzięki, wystarczyło zwykłe zablokowanie adresu.

Forums » Forum Opery » Aplikacje dla Opery