Opera - przekleństwo webdeveloperów
01 kwietnia 2007
Update: Nie traktuj tego tekstu poważnie, napisałem go na Prima Aprilis.
Kodowanie stron nie jest zadaniem specjalnie łatwym - proces jest spowalniany przez niezgodności międzyprzeglądarkowe i różnice w aplikowaniu standardów. Ostatnimi czasy warunki w jakich przychodzi nam pisać strony uległy znacznej poprawie, a dodając ogromne ilości hacków dla złego z założenia Internet Explorera - wymyślonych przez zdolnych webdeveloperów przez te wszystkie lata - jesteśmy w stanie osiągać w miarę jednolity wynik. W miarę, ponieważ jedna przeglądarka cały czas spowalnia marsz standardów i przenoszalności kodu. A jest nią Opera.
Opera świetnie się maskuje, na jej stronach można znaleźć wiele artykułów poświęconych standardom, kampania reklamowa wersji 9.0 miała akcent W3C, a newsy dotyczące najnowszych wersji norweskiej przeglądarki wspominają wsparcie dla implementacji szkiców CSS3. Pięknie, prawda?
Wcale nie jest pięknie. Problem jest jeden - marketingowcy Opery znakomicie wykorzystują fakt popularności standardów, ale ich realna aplikacja boli jak cholera. Kiedy ostatni raz otworzyliście swoje dzieło, prezentujące się ślicznie na Firefoksie, Safari i Konquerorze (i po setkach hakow w IE, ale to inna bajka), w Operze i ujrzeliście ten sam widok? Kiedy strona ma więcej jak 100 linijek CSS? Mi udaje się to tylko czasami.
Problemem jest podejście twórców. Jednocześnie chcą oni być najbardziej rygorystyczni względem specyfikacji i mimo że dokumenty W3C pozostawiają wiele miejsca do manewrów, wybierają najcięższe rozwiązania. Z drugiej strony chcąc przyciągnąć więcej ludzi oferują wsparcie dla dziwactw Explorera, kopiując jego zachowania. Przykład z nieaktywnym obszarem wypozycjonowanego konternera, jeśli ten nie ma ustawionego tła na początek - spróbujcie zrobić dobrze działające menu dropdown.
Explorer ma swoje hacki oraz wspaniały sposób ich aplikacji - komentarze warunkowe, expressions i pliki HTC. Opera daje nam jedynie możliwość detekcji za pomocą JavaScriptu obiektu window.opera. I jako, że właśnie przez Operę mija mi kolejny deadline w pracy, postanowiłem się zemścić.
Rozwiązanie
Użytkownicy Opery są aroganccy, nie reagują na zdroworozsądkowe argumenty, nie potrafią pokazać prawdziwych rozwiązań problemów jakie projektanci napotykają w ich świętej przeglądarce - jedyne co umieją to czekać na nowe wersje z nadzieją, że łaskawi programiści poprawią to i owo i nie trzeba się będzie wstydzić (jak za mizerną obsługę CSS dla formularzy w Operze 8.x). Dlatego zrobiłem skrypt, który zablokuje dostęp do strony jeśli tylko używasz norweskiej przeglądarki.
Przygotowałem dwie wersje - standard, do której trzeba dorzucić obrazki na serwerze - oraz full, gdzie obrazki są zaembedowane już w pliku JS. Aby uruchomić taki plik wystarczy do sekcji head dopisać:
<script type="text/javascript" src="noopera.js"></script>
albo
<script type="text/javascript" src="noopera.full.js"></script>
Efekt widoczny dla Operowca odwiedzającego Twoją stronę.
Po co?
Ekran może i przypomina akcje anty-explorerowe, ale o ile w przypadku IE mamy do czynienia z nieświadomymi użytkownikami, tak Operowcy po prostu nie widzą, że szkodzą webdeveloperom używając wybrakowanego oprogramowania, które fałszywie nazywa się zgodnym ze standardami. Więc jeśli wybrałeś (wybrałaś) przeglądarkę na O. ponieważ wierzysz w lepszą sieć i ujednolicone standardy, aby publikacja w Internecie przebiegała bez przeszkód - zmień Operę na Firefoksa albo Konquerora, SeaMonkey, Camino, OmniWeb bądź jakikolwiek inny soft. Firefox ma masę rozszerzeń i możesz dostosować środowisko do swoich potrzeb, a nawet upodobnić je do Opery.
Jedyne o co proszę to o zaprzestanie używania Opery. Niech jej liczby w statystykach maleją, a wyznawcy się kurczą. Niech projektanci odetchną nie będąc zmuszonym do walki z Operowymi herezjami i dziwactwami skopiowanymi z Explorera. Chcę, aby Opera przestała się liczyć w światku webdev tak jak IE5.x! Przyłączysz się? Dodaj skrypt do swojej strony i powiedz znajomym o tym wpisie. Razem mamy szansę zmniejszyć wpływ tej ułomnej przeglądarki na nasze życia.



