Html Hack dobry na wszystko
Pamiętam czasy gdy programy pisało się korzystając z biblioteki curses, a interfejs użytkownika stanowił terminal 80x24. Nie będę się na ten temat zbytnio rozwodził, ale wspominam jedną rzecz jak coś napisałem to działało na każdym terminalu. Później przyszła era aplikacji GUI (np. Delphi, Swing), aż wreszcie doszliśmy do przeglądarek Internetowych i tutaj zaczeły się problemy. Na Firefoxie coś działa, a na Internet Explorze nie itd. W poprzednim tygodniu natrafiłem właśnie na taki problem i jak zawsze z pomocą przyszedł "html hack", czyli wykorzystanie słynnej funkcji JavaScript
Zacznę od początku (tak chyba najlepiej) czyli od przykładu, który zobrazuje problem na który natrafiłem. Otóż chodziło o to aby przycisk po zaznaczeniu checkboxa się pokazywał (dodatkowo atrybut
Oczywiście pełen pokory, ale i wiary w sukces zabrałem się do pracy, już po kilku chwilach stwierdziłem, że problem jest związany z przypisywaniem do atrybutu
Poniżej zamieszczam zmodyfikowany kod, który działa w Internet Explorerze: Zachęcam Was do podzielania się swoimi ciekawymi doświadczeniami.
setTimeout
.Zacznę od początku (tak chyba najlepiej) czyli od przykładu, który zobrazuje problem na który natrafiłem. Otóż chodziło o to aby przycisk po zaznaczeniu checkboxa się pokazywał (dodatkowo atrybut
position
musiał być relative
), a po odznaczeniu chował (dodatkowo atrybut position
musiał być absolute
). Cały kod html zawarłem poniżej:
Po uruchomieniu tego przykładu okazało się, że owszem w Firefoxie działa wszystko jak należy, ale w Internet Explorerze przycisk jest niewidoczny, przy czym jest rezerwowane na niego miejsce.Oczywiście pełen pokory, ale i wiary w sukces zabrałem się do pracy, już po kilku chwilach stwierdziłem, że problem jest związany z przypisywaniem do atrybutu
position
wartości relative
. Niestety Internet Explorer z tym sobie nie radzi. Problem znaleziony, więc przeszedłem do rozwiązania, które sprowadziło się do pragmatycznego posunięcia jakim było zastosowanie funkcji setTimeout
- popularnego i "lubianego" html hacku.Poniżej zamieszczam zmodyfikowany kod, który działa w Internet Explorerze: Zachęcam Was do podzielania się swoimi ciekawymi doświadczeniami.
Komentarze