HTML-owy div nad Flashem pod Linuksem – to możliwe!

Tak, to naprawdę możliwe – w przeglądarkach opartych na Gecko, jak Firefox. Jeśli ktoś z Was używał rozwijanego menu w Google Video, to nawet już się z tym zetknął.

Zatem, jak oni to zrobili? Przeanalizowałem kod i odpowiedź jest prosta: wstawili pływającą ramkę między Flasha a div używając z-index. Co, próbowałeś/-aś i nie wyszło? Nie wyszło, bo potrzebna jest pewna sztuczka. Własność CSS “display”tej ramki musi być najpierw ustawiona na “none” w arkuszu stylów, a następnie przełączon na “block” z poziomu JavaScriptu po wyrenderowaniu przez przeglądarkę elementu .

Poniżej link do przykładu. Dla Waszej wygody i zdrowia serwerów, umieściłem go w trzech miejscach:

  • serwer 1 (pertus.com.pl, Legnica)
  • serwer 2 (studencki serwer Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej)
  • serwer 3 (serwer zespołu AviaryPL Team’s w szczecińskiej Akademii Rolniczej)

PS. zanim ktoś z Was zechce to “wykopać”, mała prośba: linkujcie do notki, a nie bezpośrednio do przykładów.

(To jest polskie tłumaczenie poprzedniej notki)

8 responses to “HTML-owy div nad Flashem pod Linuksem – to możliwe!

  1. To raczej jest obejście błędu…
    Który, jak sądzę, bedzie szybko załatany.

  2. Yyyh? po co tak kombinować?
    Nie wystarczy wrzucić flasha w warstwę jako goły i ustawić mu wmode=transparent?

  3. w poprzednim komentarzu obcięło mi html taga. miało być:
    “…w warstwę jako goły > i ustawić…”

  4. jasiu

    Maverick, tu chodzi o firefoxa pod Linuksem. W mbanku menu nad flashem działa od lat. Nigdy nie chciało mi się tego analizować, dzięki marcoos.

  5. maverick:

    Linuksowy Flash Player nie obsługuje wmode.

  6. Przypominam, że wmode nie działa pod Linuksem i stąd cała potrzeba hacków.

  7. ffreak

    To ja pozwolę sobie dorzucić link ze skryptem, który wygeneruje taki iframe tuż pod warstwą, którą przemieszczamy chwilowo ponad obiekt flash:
    http://forum.webhelp.pl/viewtopic.php?p=620067#620067
    żeby zaaplikować sztuczkę google-marcoosa wystarczy dorzucić display:none do linijki ze stylami i display=’block’ po przecinku w ostatniej linijce skryptu.

  8. ffreak

    sori, chodziło o:
    http://forum.webhelp.pl/viewtopic.php?p=620551#620551
    ten poprzedni skrypt to jeszcze inne podejście do problemu.

    btw, nie mam pojęcia po co tam ten ‘filter’ – to zbyt dawno temu było pisane :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

MDN

Better JavaScript docs for a better Web on MDN

Archiwum

%d bloggers like this: