Blog (34)
Komentarze (536)
Recenzje (0)

vod.onet.pl vs IE11 (plus garść historii WWW)

@mktosvod.onet.pl vs IE11 (plus garść historii WWW)13.11.2013 22:18

Kilka osób na forum pytało o rozwiązanie problemu z Internet Explorerem 11 i stroną vod.onet.pl. Po wybraniu opcji oglądaj pojawia się obecnie komunikat "Twoja przeglądarka WWW (Mozilla) nie współpracuje z technologią Microsoft Silverlight, która jest niezbędna do odtwarzania filmów w naszym serwisie.", co jest z dwóch powodów nieprawdą.

Jednym z tych powodów jest fakt, że dźwięk z filmu (lub reklam) się pojawia, więc wygląda na to, że odtwarzacz Silverlight jednak działa. Drugą nieprawdą jest fakt, że przeglądarka Internet Explorer 11 to przecież nie jest Mozilla.

A może jednak?

Agent użytkownika

Agent użytkownika, z angielska user agent to ogólne określenie na produkt, którego używa użytkownik, aby dostać się do zawartości strony internetowej. Zazwyczaj jest to przeglądarka internetowa. Taka przeglądarka identyfikuje się mówiąc serwerowi HTTP o swojej nazwie i wersji za pomocą tzw. ciągu user agent.

Internet Explorer w wersji 11 znacząco zmienił swoją identyfikację w stosunku do wersji poprzednich. Dotychczas IE prezentował się np. jako:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

Co w wolnym tłumaczeniu z komputerowego na nasze oznacza "kompatybilny z Mozillą 5.0*, Internet Explorer 9.0, na Windows 7, silnik renderujący Trident w wersji 5.0".

Obecnie, IE11 prezentuje się jako:

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

Co oznacza - "kompatybilny z Mozillą 5.0, na Windows 8.1, na warstwie kompatybilności WOW64, oparty o silnik Trident w wersji 7.0, wersja 11.0, "jakby Gecko"". "Gecko" to kodowa nazwa silnika renderującego w przeglądarce Mozilla Firefox (między innymi), czyli ogólnie mówiąc - IE11 udaje Firefoksa!

Czy widzicie gdzieś tutaj ciąg "IE" albo "MSIE" albo "Explorer"? Ano właśnie.

Niektóre strony internetowe chcą prezentować inną zawartość dla innych przeglądarek internetowych. Rozpoznaje się wtedy przeglądarkę (względnie silnik renderujący) przez proste wyszukiwanie słów takich jak "Gecko", "MSIE", "Opera" czy "Webkit" i serwuje nieco zmodyfikowany kod HTML dla niektórych.

W Microsofcie wyszli z założenia, że mają dość, że dla Internet Explorera 11, który od swojego czcigodnego** przodka, wersji 6, odszedł dość daleko w dziedzinie obsługi współczesnych standardów sieciowych, a tu nadal niektóre strony widząc IE dają mu upośledzoną wersję strony zamiast normalnej strony zgodnej ze standardami sieciowymi. Więc to zmienili.

I stąd problem - vod.pl próbuje potraktować IE11 jakby był Mozillą i stwierdza u tej fałszywej Mozilli brak obsługi Silverlight, więc prezentuje odpowiedni komunikat. Niestety - Silverlight jest, więc jak widać, coś poszło nie tak.

Proof-of-concept

Sprawdźmy zatem koncepcję. Używając klawisza F12 można uruchomić narzędzia dla programistów w IE11, w których są opcje "emulacji" (pod Ctrl+8)., gdzie jesteśmy w stanie zmienić ciąg user-agent którym przeglądarka się identyfikuje. Zmieniając to na przykład na Internet Explorera 9 restartujemy film na vod.pl i co się okazuje? Działa! (a przynajmniej reklama).

Z uwagi na to, że są to narzędzia dla programistów, to w przypadku błędów JavaScriptu pojawiają się też odpowiednie zatrzymania wykonywania skryptów, ale to nie jest najważniejsze - wystarczy kliknąć "Kontynuuj" (F5).

Skoro jednak działa głos, to może jednak film "dzieje się" pod planszą?

Usunięcie planszy informacyjnej

Za pomocą narzędzi dla programistów można również usunąć po prostu planszę informującą o braku Silverlighta i cieszyć się filmem.

Aby to zrobić wystarczy w narzędziach dla programistów wybrać opcję Konsoli (Ctrl+2) i wpisać w niej:

document.getElementsByClassName('slInstallPlayer')[0].style.display='none';

Plansza znika, a film (lub reklamy) działają.

A może tryb kompatybilności?

W Internet Explorerze od pewnego czasu dostępny jest tryb kompatybilności. Jedną z jego funkcji jest między innymi zmiana ciągu user-agent przeglądarki - do postaci zgodnej z bardzo starymi wersją IE***.

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Media Center PC 6.0; Zune 4.7)

Niestety - mimo, iż z testów wynika, ze rozwiązanie powinno działać - dla strony vod.pl nie działa i niezbyt wiem dlaczego.

Prawdziwe rozwiązanie

Tak - można się tego było spodziewać. Trzeba poinformować vod.pl o problemie i liczyć na poprawkę z ich strony. To nie jest problem z IE - tylko raczej z kombinacją skryptów vod.pl wraz z nową identyfikacją Internet Explorera.

Programiści vod.pl - prawdopodobnie wystarczy wykrywać ciąg "Trident" zamiast ciągu "MSIE".

Więcej informacji

  • * Internet Explorer mówi, że jest kompatybilny z Mozillą - to jest zaszłość z czasów naprawdę historycznych, kiedy Netscape dominowało, a ramki były nowością !
  • ** Niektórzy mogą się ze mną nie zgodzić, ale ja twierdzę, że IE6 był świetną przeglądarką! Oczywiście, jeśli mowa o roku 2001 :-)
  • *** Ciągi informujące o wersjach .NET CLR i niektórych dodatkowych zainstalowanych aplikacjach zostały usunięte w późniejszych wersjach IE - jednym z powodów jest oczywiście prywatność użytkownika. Właściwość JavaScriptu navigator.userAgent (gdzie ów navigator to również świadectwo historii WWW) prezentuje jednak "nowszy" ciąg, wraz z tymi dodatkami.
Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.