Posted by: marcoos on: 21.07.2006
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 <embed>.
Poniżej link do przykładu. Dla Waszej wygody i zdrowia serwerów, umieściłem go w trzech miejscach:
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)
Yyyh? po co tak kombinować?
Nie wystarczy wrzucić flasha w warstwę jako goły i ustawić mu wmode=transparent?
w poprzednim komentarzu obcięło mi html taga. miało być:
„…w warstwę jako goły > i ustawić…”
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.
maverick:
Linuksowy Flash Player nie obsługuje wmode.
Przypominam, że wmode nie działa pod Linuksem i stąd cała potrzeba hacków.
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.
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 :)
1 | Uzytkownik
21.07.2006 @ 18:09
To raczej jest obejście błędu…
Który, jak sądzę, bedzie szybko załatany.