Darstellungsproblem mit flash und thickbox

  • Hallo zusammen,

    ich versuche gerade eine Bildergalerie mit dem fatastischen nextGen-Gallery-PlugIn zu bauen und habe zum Teil Probleme mit einem anderen Flash-Element auf der Seite.
    Der Header der Seite beinhaltet eine Flash-Datei, und wenn ich jetzt in der Galerie auf ein Vorschaubild klicke und sich das Bild mit dem thickbox-Effekt öffnet wird leider in einigen Browsern der abgedunkelte Hintergrund im Bereich des Headerflashs zerstört.
    Das Merkwürdige daran ist, daß auf meinem Rechner (MacBook, OSX 10.5.3) das Problem im Firefox auftritt, in Safari nicht. Bei Freunden wiederum hat Safari Probleme gehabt, Firefox aber nicht.

    Hier der Link zur Seite: 17 HIPPIES » Galerie

    Jemand ne Idee dazu?
    Merci und Grüße,
    kruisko

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Das Verhalten ist technisch bedingt, da Flash als Plugin erst gerendert wird, wenn der Browser den Rest der Seite bereits fertig hat. Daher liegt Flash immer über jedem Browserelement. Abhilfe gibts meines Wissens da leider keine.

  • Abhilfe gibts schon, aber da muß der Plugin-Entwickler ran. Eventuell muß er eine zum Rest von WP kompatible Thickbox dem Plugin mit mitgeben.
    Man kann das lösen, in dem das Javascript der Thickbox feststellt, ob sich in der Seite Flashinhalte (oder Media Player, InputFelder usw.) befinden.
    Wenn nicht, kann der Background behandelt werden wie immer. Wenn doch, braucht man als Background einen transparenten iframe mit hoher z-order, in dem die Abdunklung gemacht wird. Über dieses iframe kommt dann erst die Bilddarstellung.

    Im IE ist der ganze Header übrigens ebenfalls nicht abgedunkelt.

    [COLOR=Red] Ergänzung:[/COLOR] Hab den Seitencode nochmal angesehen. Das ist mit einem div gelöst, das nur folgendes macht:

    Im IE wir hier noch

    Code
    filter: alpha(opacity=75%)


    verwendet.

    Nur dem Div opacity zu geben ist für IE und andere sinnlos bei aktiven Inhalten. Wenn man den Hammer mit dem iframe nicht auspacken will, da muß man ein alpha channel 75% *.png als background nehmen und repeaten, dann liegt das garantiert auch über dem Flash Inhalt.

  • ... da muß man ein alpha channel 75% *.png als background nehmen und repeaten, dann liegt das garantiert auch über dem Flash Inhalt.


    Erstmal danke für die Antwort, auch wenn ich sie nur halb verstehe.
    Du meinst, ich sollte ein schwarzes png als hintergrundbild nehmen und dann den alpha-wert auf 75 stellen? Oder muß ich die Transparenz schon in Photoshop oder so erzeugen?

  • Erstmal danke für die Antwort, auch wenn ich sie nur halb verstehe.
    Du meinst, ich sollte ein schwarzes png als hintergrundbild nehmen und dann den alpha-wert auf 75 stellen? Oder muß ich die Transparenz schon in Photoshop oder so erzeugen?

    Also es muß schon ein PNG mit bereits enthaltenem 75% alpha sein. Also Photoshop auf, schwarz (oder braun oder was auch immer dunkles) und dann den Alpha runterdrehen.

    Ab IE 7 kannst du das als Background Image im Stylesheet verwenden, für IE's drunter braucht es speziell einen extra filter Eintrag mit stretch Angabe. Kann ich momentan nur nicht nachschauen, da mein lokales System hier nicht verfügbar ist. :)

    PS: Habs doch irgendwo noch rumliegen mit weißen alpha Bild für IE's:

    Zitat


    filter : progid : DXImageTransform.Microsoft.AlphaImageLoader(src='hier-dein-path/images/transparency/white-90.png', sizingMethod='scale');

    Sorry die Leerzeichen vor und nach den Doppelpunkten müssen weg, kann es aber hier nicht anders machen, sonst kommen Smilies raus.

  • Komisch, es ist doch schon ein png eingebunden.

    Code
    .TB_overlayMacFFBGHack {background: url(macFFBgHack.png) repeat;}

    Zumindest in Firefox (thickbox.css Zeile 37)...
    Die Class .TB_overlayBG kann ich in Firebug gar nicht sehen.

    Trotzdem ist der Darstellungsfehler da.

    Muß mir wohl ein anderes Plugin suchen ... oder auf der Galerie-Seite das Header-Flash deaktivieren. Schade.

  • Hier ein Beispiel mit Kommentar Backgrounds und als Inline Styles. Die "normalen" Standard Browser benutzen die erste Angabe und für die IE's ist die 2. Angabe. Aber in allen Fällen wird ein PNG benutzt, während deine Seite sich mit opactiy begnügt, was bei Flashinhalten (aktive Sachen) nicht geht. Wie auch sonst würden denn die Werbe DIV's funktionieren, die bei bestimmten Seiten immer von der Seite reinschiessen und über Flash liegen ?

  • So, ein stückchen weiter bin ich jetzt.
    Habe den css-code eingebaut und zumindest funktioniert jetzt in Firefox das Overlay. Der Flash-Header wird komplett abgedeckt. Leider fehlt jetzt aber die Transparenz.
    Im Safari siehts super aus (zumindest in meinem).

    Das müßte doch heißen, Firefox nimmt die Hintergrundfarbe und Safari ignoriert sie, oder?

    Ob es auch für Windows geht, weiß ich nicht. Ich habs aber in meine ie-patch-css eingebaut. Vielleicht kann ja mal jemand für mich schauen.

  • Im IE7 liegt der Flash-Header noch drüber, im IE6 hat's einen einheitlich grauen Hintergrund, da scheint gar nichts durch. Auch kein Flash-Header. Opera 9.50 zeigt ebenfalls den Flash-Header im Vordergrund an.

  • Also bei mir mit

    Code
    Mozilla/5.0 (Windows; U; Windows NT 5.2; de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

    kein Problem. IE 7 legts tatsächlich noch drüber, dann mach mal statt:

    Code
    <!--[if lte IE 6]>

    testhalber

    Code
    <!--[if IE]>

    Und kannst du das hier bitte auch reparieren, das verhindert eine Validierung der Seite:

    Code
    </div> <!--schlie�t main-div (Ende der header.php)-->
  • Dem Flash bitte folgendes mitgeben:

    Code
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="300" height="200">
        <param name="movie" value="flash.swf">
        <param name=quality value=high>
        [COLOR=Red][B]<param name="wmode" value="transparent">[/B][/COLOR]
        <embed src="flash.swf" width="300" height="200" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" [COLOR=Red][B]wmode="transparent"[/B][/COLOR]></embed>
      </object>


    Schaust du hier: HTML-Inhalt über einem Flash

    Scheint das Problem zu sein, das du das per Script reinschreiben lässt. Müsstest du dann direkt in den Header codieren un zwar so, wie es das Script macht + die roten Angaben.

  • Mir scheint, ich hab's hingekriegt. Wenn ja, bist du mein Held des Tages :wink:

    Richtig, ich benutze ein Script (swfobject). Aber das ist ja ein ganz feines, und man hat Zugriff auf alle Flash-Parameter.
    Alles was zu tun war, war folgende Zeile einzugeben:

    Code
    so.addParam("wmode", "transparent");

    Super!

    Wie siehts denn auf Windows-Rechnern aus?

  • Mir scheint, ich hab's hingekriegt. Wenn ja, bist du mein Held des Tages :wink:

    Richtig, ich benutze ein Script (swfobject). Aber das ist ja ein ganz feines, und man hat Zugriff auf alle Flash-Parameter.
    Alles was zu tun war, war folgende Zeile einzugeben:

    Code
    so.addParam("wmode", "transparent");

    Super!

    Wie siehts denn auf Windows-Rechnern aus?

    Das sieht auch auf IE7 so aus, wie du es haben wolltest. Schön gedimmt und der Flash ebenfalls.

    IE6 kann ich nicht sagen, hab ich nicht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!