Sprawdź co musisz zrobić, by nawet 10-krotnie przyśpieszyć Internet Explorer i tym samym ułatwić życie użytkownikom odwiedzającym Twoją stronę.
…oczywiście to prowokacja. Internet Explorer w starszych wersjach to twór, który nie stał obok przeglądarki i nic tego nie zmieni. Jedynym rozsądnym wyjściem jest zainstalowanie nowoczesnej przeglądarki.
Jak ułatwić życie posiadaczom Internet Explorera w starszych wersjach?
Na szczęście jest pewne rozwiązanie mogące złagodzić ból użytkowania tego tworu w wersji 9 i niższych. Mowa tutaj o nakładce na Internet Explorer, Google Chrome Frame, o której kiedyś wspominałem na blogu, lecz wzmianka ta nie doczekała się dokładniejszego omówienia.
Google Chrome Frame to plugin, dzięki któremu będziesz mógł wyświetlać wybrane strony przy użyciu silnika WebKit (renderowanie layoutu) oraz V8 (wykonywanie JavaScriptu). To zaś pozwoli przyśpieszyć przeglądanie Internetu i wykonywanie JavaScriptu nawet 10-krotnie (podobno), a także używać wielu nowoczesnych funkcjonalności wprowadzonych wraz z HTML5.
Pewnie myślisz, dlaczego ktoś miałby instalować Google Chrome Frame zamiast nowoczesnej przeglądarki jak Chrome bądź też Firefox? Dobre pytanie. Na tym bowiem polega cała magia tego rozwiązania, gdyż Google Chrome Frame nie wymaga uprawnień administratora do instalacji :-) Zatem pracownik korporacji (bądź też inna osoba) zmuszana do korzystania z IE w starszej wersji ma możliwość przejścia na nowszy silnik do przeglądania Internetu na dowolnym komputerze, niezależnie od uprawnień.
Twoja rola w zbawianiu pokrzywdzonych
Aby strona została uruchomiona na silniku WebKita, Ty – jako twórca strony, musisz pozwolić na taką operację. Nic Cię to nie kosztuje, wystarczy dodać niniejszą linijkę kodu do sekcji HEAD dokumentu:
1 | <meta http-equiv="X-UA-Compatible" content="chrome=1"> |
Kod ten zadziała we właściwy sposób, niestety jednak nie przejdzie walidacji (W3C). Jest to skutkiem braku wartości X-UA-Compatible dla znaczników meta w specyfikacji HTML.
Aby Twój kod nie zwracał błędów w walidatorze W3C, możesz zdefiniować ten znacznik w ustawieniach konfiguracyjnych serwera (przykład w oparciu o Apache):
1 2 3 4 5 6 | <IfModule mod_setenvif.c> <IfModule mod_headers.c> BrowserMatch chromeframe gcf Header append X-UA-Compatible "chrome=1" env=gcf </IfModule> </IfModule> |
Jest to dodatkowym ułatwieniem, bowiem nie musisz definiować nowego znacznika meta dla każdej podstrony z osobna :-)
Na koniec tego krótkiego tekstu szybkie pytanie – czy stosujesz/stosowałbyś ten znacznik? W rozmowie z innym developerem usłyszałem argument, że nikt nie wie co to jakiś Chrome Frame, a jeśli już pracuje w korporacji to niech zabierze się za pracę i nie przegląda sieci :-) Warto / nie warto stosować?
Pytanie jak „zmusić” użyszkodnika do odpalenia tego pluginu?
@SebaZ: Niby jest na to sposób – http://www.chromium.org/developers/how-tos/chrome-frame-cfinstall (nie testowałem)
a czy da sie zmusic by przegladarka uzywala zawsze tego pluginu nie szukajac znacznika? (dla niereformowalnych milosnikow ie?)
@bre: niestety nie da, użytkownik musi zainstalować ten plugin. Czyli jeśli chcesz pisać strony bez wspierania starszych IE to masz do wyboru: próbować przekonać użytkownika do instalacji Chrome Frame lub po prostu go olać. Osobiście stosuję podejście nr 2, lecz jeszcze wspieram po części IE8, tzn. zachowuję funkcjonalność, ale olewam, że nie ma border-radius, box-shadow i innych „upiększaczy”.
Czy przeglądarka portable nie byłaby lepszą alternatywą?
@Michal: A istnieje Chrome w wersji portable, tak by można odpalać bez uprawnień administracyjnych? Jeśli istnieje to jak najbardziej jest lepszą alternatywą :)