Technologie mobilne i lokalizacyjne

Analiza i statystyki rynku nie pozostawiają złudzeń. Technologie mobilne w połączeniu z technikami lokalizacyjnymi i wirtualną społecznością stanowią przyszłość Internetu.

O ile w Polsce traktowane są jeszcze jak niezrozumiałe innowacje, zdobywają coraz większą popularność na świecie. Coraz częściej na telefonach komórkowych pojawiają się: społeczności wirtualnych przewodników i recenzentów, gry lokalizacyjne, aplikacje użytkowe.

Usługi te doskonale wpisują się w ogólnoświatowy trend „Right here! Right now!” (Tu i teraz!). Będąc poza domem interesują nas tylko te miejsca, które są najbliżej, oraz te, z których możemy skorzystać w danej chwili.

Dzięki inwestowaniu w mobilność i techniki lokalizowania możemy zachować ten trend i dostosować nasze usługi do wymagań użytkowników XXI wieku.

IE6 PNGfix a Google Maps

Autor: Maciej Marczewski niedziela, 7 lutego 2010
Każdy z tych, którzy kiedykolwiek musieli zrobić bardziej zaawansowaną stronę w pełni obsługiwaną w IE6 dobrze zna ogrom kłopotów z jakimi musi sobie poradzić, aby strona poprawnie się wyświetliła. Większość z nich związana jest z brakiem obsługi przezroczystości obrazków PNG. Problemy też czasem sprawia napisanie poprawnego kodu Javascript, który działałby w IE6 dokładnie w ten sam sposób co na nowszych przeglądarkach. Tworząc skrypty map Google wielokrotnie zachodziłem w głowę dlaczego nie działają one na IE6, ale tym razem nie o tym.

Jeszcze do niedawna tworzenie dynamicznych, dobrze wyglądających stron w IE6 polegało na dodawaniu specjalnych arkuszy stylów, obudowywanie obrazków dodatkowymi elementami blokowymi, które nierzadko burzyły porządek na stronie i przyprawiały o ból głowy.

W ostatnim czasie pojawiły się na szczęście skrypty, które wystarczy dodać do strony i automatycznie wykrywają one wszystkie obrazki i stosują do nich okrętki na przezroczystość. Pojawiło się ich kilka, przetestowaliśmy je i uznaliśmy, że do większości zastosowań najlepiej nadaje się DD_belatedPNG, która wykorzystuje VML, do przerysowywania obrazków.

Jego użycie ogranicza się w zasadzie do dodania skryptu w komentarzach warunkowych dla IE6 i zdefiniowanie selektorów CSS elementów, na których ma zadziałać, ale także wskazać wszystkie obrazki jakie występują na stronie, przykładowo:



O ile strona z zastosowanym fixem ładuje się szybko i wszystkie obrazki wyglądają prawidłowo, to jednak gdy dodałem na taką stronę mapę Google przestała ona działać. Mapa zainicjowała się prawidłowo, menu pokazało się, jednak żadne obrazki mapy nie zostały załadowane, a mapa nie pokazała żadnego błędu.

mapa niepoprawna z pngfix

Po krótkim sprawdzeniu skryptów obsługi mapy okazało się, że z mapą jest wszystko w porządku, jednak problem tkwi właśnie w zastosowanym na stronie wspomnianym pngfixie. Zastosowanie fixa do wszystkich obrazków na stronie spowodowało zaprzestanie wyświetlania mapy na stronie.

Wynika to z tego, że Google stosuje własne algorytmy obsługi przezroczystości na mapie w IE6 w postaci filtru Microsoftowego AlphaImageLoader używanego dla każdego obrazka:

function Nk(a,b,c){ 
   a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizi 
ngMethod="+(c?"scale":"crop")+',src="'+Sk(b)+'")' 
  }

Zastosowanie dodatkowo na już przekształconym obrazku po raz kolejny pngFixa DD_ belatedPNG powoduje zaprzestanie jego wyświetlania. Jest to ewidentnie konflikt obu bibliotek.

Na szczęście jest na to sposób. Wystarczy nie stosować pngfixa do wszystkich obrazków na stronie i zamiast deklarować ogólny selektor ‘body img’, stosować bardziej szczegółowe selektory elementów, w których wiemy, że nie będziemy mieli mapy Google.

Eksperyment potwierdziło usunięcie jednej linijki kodu:

DD_belatedPNG.fix("body img");

Mapa natychmiast pojawiła się na stronie :)



Warto o tym pamiętać tworząc strony w IE6, jeśli kiedykolwiek będziemy chcieli mieć na niej mapę Google.

1 Responses to IE6 PNGfix a Google Maps

  1. Unknown pisze...
  2. Rewelacja. Ogromne dzięki. Bije na głowę pngfixa i temu podobne.

     

Prześlij komentarz

Related Posts Plugin for WordPress, Blogger...

Translate My Blog

Certyfikaty


Google Qualifed
Javascript Maps API
Developer

12/2009

Na moim blogu podróżniczym

Obserwatorzy