Maik W. aus E.: Flash-Datei in lightbox.js - Bin ich der Einzige?

Tach zusammen,

ich möchte eine Flash-Animation mit dem hübschen lightbox.js-System aufrufen. Nun ist das -eigentlich- nicht vorgesehen,
die von Lokesh Dhakar auf der Seite vorgeschlagene Google-Recherche nach "Lightbox modifications" oder ähnlichem führt entweder zu ThickBox, das ich häßlich finde oder zu Lösungen des umgekehrten Problems, nämlich die Lightbox aus dem *.swf zu öffnen.

Ich hab' dann mal versucht, den Code mit meinen rudimentären JS-Kenntnissen zu erweitern und bin an genau dem gescheitert, das
Molily gerade vorgestern im SELFHTML-Weblog geschrieben hat, denn lightbox basiert ja auf dem prototype-Framework und ich kann nicht rasch noch ein paar Variablen für die zusätzlichen Parameter ergänzen. Wenn ich den 'angeblich' zu erzeugenden HTML-Code nehme und aufbohre, klappt es, variabel wird es nichts, ohne entsprechende Parameter springt das script springt zwar an, zeigt aber keine Datei.

Erschwerend kommt hinzu, daß ich weder über die javascript-Console noch sonst irgendwie an den erzeugten Code komme, um zu sehen, was nicht funktioniert oder was noch fehlt... Hat jemand eine Idee, wo ich da ansetzen kann?

http://www.gruss-aus-essen.de

Maik

--
Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
Maik. W. aus E. sagt Dankeschön ;-)
  1. Hellihello Maik,

    Erschwerend kommt hinzu, daß ich weder über die javascript-Console noch sonst irgendwie an den erzeugten Code komme, um zu sehen, was nicht funktioniert oder was noch fehlt... Hat jemand eine Idee, wo ich da ansetzen kann?

    Du willst in der schummrigen lightbox statt des Images ein Flash.swf einbauen, oder? Könnte Dir da eine Kombination mit http://blog.deconcept.com/swfobject/ weiterhelfen?

    Gruß,

    frankx

    1. Tach auch frankx,

      Du willst in der schummrigen lightbox statt des Images ein Flash.swf einbauen, oder?

      Exakt!

      Könnte Dir da eine Kombination mit http://blog.deconcept.com/swfobject/ weiterhelfen?

      Bedingt... Denn ich müßte dafür ja die swfobject.js einbinden (das schaffe ich noch), aber auch innerhalb der lightbox.js an der richtigen Stelle aufrufen, oder sehe ich was falsch/nicht?

      http://www.gruss-aus-essen.de

      Maik

      --
      Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
      Maik. W. aus E. sagt Dankeschön ;-)
      1. Hellihello Maik,

        Exakt!

        Könnte Dir da eine Kombination mit http://blog.deconcept.com/swfobject/ weiterhelfen?
        Bedingt... Denn ich müßte dafür ja die swfobject.js einbinden (das schaffe ich noch), aber auch innerhalb der lightbox.js an der richtigen Stelle aufrufen, oder sehe ich was falsch/nicht?

        Jap, wenn ich das recht verstehe. Du rufst die Funktion mit

          
        <div id="flashcontent">  
          Place your alternate content here and users without the Flash plugin  
          or with Javascript turned off will see this.  
          Include a link to <a href="?detectflash=false">bypass the detection</a>  
          if you wish.  
        </div>  
        <script type="text/javascript">  
         // <![CDATA[  
          var fo = new FlashObject("fo_tester.swf", "fo_tester", "300", "150", 6, "#336699");  
          fo.write("flashcontent");  
         // ]]>  
        </script>  
          
        
        

        Du brauchst also ein Element mit einer ID die Du kennst (in dem Fall ein div) und ersetzt dann den kompletten Inhalt durch dein object/embed - Element. Dazu muss die Ersetzungsfunktion aufgerufen, nachdem die ID im Dokument bekannt ist.

        lightbox.js hat ja vermutlich ein div, dass es um das img packt. Wenn dieses div eine ID hat, dann könnte diese ja dem Aufruf der fo.write() Funktion als Parameter übergeben werden.

        Gruß,

        frankx

        1. Tach auch frankx,

          Du brauchst also ein Element mit einer ID die Du kennst (in dem Fall ein div) und ersetzt dann den kompletten Inhalt durch dein object/embed - Element. Dazu muss die Ersetzungsfunktion aufgerufen, nachdem die ID im Dokument bekannt ist.

          Aah... das ist doch ein Ansatz

          lightbox.js hat ja vermutlich ein div, dass es um das img packt. Wenn dieses div eine ID hat, dann könnte diese ja dem Aufruf der fo.write() Funktion als Parameter übergeben werden.

          Ja, hat es, die ID kenn ich, das werde ich mal versuchen.

          Danke für den Tip!

          http://www.gruss-aus-essen.de

          Maik

          --
          Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
          Maik. W. aus E. sagt Dankeschön ;-)
          1. Hellihello Maik,

            lightbox.js hat ja vermutlich ein div, dass es um das img packt. Wenn dieses div eine ID hat, dann könnte diese ja dem Aufruf der fo.write() Funktion als Parameter übergeben werden.
            Ja, hat es, die ID kenn ich, das werde ich mal versuchen.

            Danke für den Tip!

            Also die Id herauszukriegen ist recht simpel. Das ist auch im lighthouse-script im Kommentar nachlesbar:

              
            <div id="outerImageContainer">  
             <div id="imageContainer">  
              <img id="lightboxImage">  
              <div style="" id="hoverNav">  
               <a href="#" id="prevLink"></a>  
               <a href="#" id="nextLink"></a>  
              </div>  
              <div id="loading">  
               <a href="#" id="loadingLink">  
                <img src="images/loading.gif">  
               </a>  
              </div>  
             </div>  
            </div>  
            
            

            Ein so.write("imageContainer"); hat bei mir testweise aber nicht geklappt. Komischerweise ist mein so-Objekt nach 3000 Millisekunden auch immer futsch. Mit innerHTML lässt sich das <img> im umgebenden div zwar rabiat überschreiben, aber dann funktioniert das ganze Lightbox-script nimmer.

            Beim Googlen hab ich jetzt abgebrochen, weil die ersten Treffer alle die Probleme zwischen eingebettetem Flash und Lightbox zusammen in einem Dokument beschrieben.

            Gruß,

            frankx

            1. Hellihello Maik,

              auf http://www.huddletogether.com/projects/lightbox/ findet sich http://www.eight.nl/files/leightbox//. Da kannst Du dem ersten Anschein nach komplette Divs einbauen. Da sollte der Einbau des erwähnten swf-Object divs wohl am einfachsten sein.

              Gruß,

              frankx

              1. Tach auch frankx,

                Beim Googlen hab ich jetzt abgebrochen, weil die ersten Treffer alle die Probleme zwischen eingebettetem Flash und Lightbox zusammen in einem Dokument beschrieben.

                Meine Rede... deswegen bin ich auch ein bißchen verbüfft. daß ich der Einzige sein soll, der sowas bauen will...

                auf http://www.huddletogether.com/projects/lightbox/ findet sich http://www.eight.nl/files/leightbox//. Da kannst Du dem ersten Anschein nach komplette Divs einbauen. Da sollte der Einbau des erwähnten swf-Object divs wohl am einfachsten sein.

                Alles klar, das werde ich mir ansehen! Bin heute unterwegs, werde mich aber im Anschluß dransetzen und natürlich berichten, obe es mir gelungen ist.

                http://www.gruss-aus-essen.de

                Maik

                --
                Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
                Maik. W. aus E. sagt Dankeschön ;-)
  2. Moin!

    die von Lokesh Dhakar auf der Seite vorgeschlagene Google-Recherche nach "Lightbox modifications" oder ähnlichem führt entweder zu ThickBox, das ich häßlich finde oder zu Lösungen des umgekehrten Problems, nämlich die Lightbox aus dem *.swf zu öffnen.

    "Häßlich" kann ja dann nur sein aufgrund von optischer Erscheinung. Das kann man bei Thickbox ja recht einfach abändern, wenn einem der Standard nicht gefällt.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Tach auch Sven,

      "Häßlich" kann ja dann nur sein aufgrund von optischer Erscheinung. Das kann man bei Thickbox ja recht einfach abändern, wenn einem der Standard nicht gefällt.

      Ich meinte 'häßlich' nicht nur optisch, sondern auch im Sinne von 'minderfunktional' und 'mindergutbenutzbar', "less-usable" quasi... Siehe auch meine Antwort für Stefan

      http://www.gruss-aus-essen.de

      Maik

      --
      Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
      Maik. W. aus E. sagt Dankeschön ;-)
  3. Hallo,

    ich möchte eine Flash-Animation mit dem hübschen lightbox.js-System aufrufen.

    Zu Flash in der Lightbox2 kann ich leider nichts sagen, doch würde mich mal interessieren, ob ich der einzige bin, bei dem das Script im Opera 9 nicht ordentlich funktioniert. Opera reagiert träge und hakelig, und viele Bilder behalten einen Weiß-Schleier, mal mehr, mal weniger, manchmal bleibt das Bild auch komplett weiß. Dasselbe auch mit aktuellen Weeklies, im Opera 8.5 läuft es bei mir dagegen ohne Probleme.

    die von Lokesh Dhakar auf der Seite vorgeschlagene Google-Recherche nach "Lightbox modifications" oder ähnlichem führt entweder zu ThickBox,

    Auf der Seite werde ich im IE 6 gefragt, ob ich ActiveX-Steuerelemente und Plugins zulassen will, und wenn ich das ablehne, bekomme ich JS-Fehler, es fehlt einiges und die Demo funktioniert nicht.

    Kennt vielleicht jemand ein solches Script, das wirklich gut ausgetestet ist und problemlos in aktuellen Browsern funktioniert, keinen 3GHz-Rechner und im IE kein ActiveX benötigt?

    Grüße,
    Stefan

    1. Tach auch Stefan,

      Hallo,

      ich möchte eine Flash-Animation mit dem hübschen lightbox.js-System aufrufen.

      Zu Flash in der Lightbox2 kann ich leider nichts sagen, doch würde mich mal interessieren, ob ich der einzige bin, bei dem das Script im Opera 9 nicht ordentlich funktioniert.

      Vielleicht, zumindes sind wir nicht zu zweit, den mein Opera (9.20 WIN) macht überhaupt keine Mucken

      die von Lokesh Dhakar auf der Seite vorgeschlagene Google-Recherche nach "Lightbox modifications" oder ähnlichem führt entweder zu ThickBox,

      Auf der Seite werde ich im IE 6 gefragt, ob ich ActiveX-Steuerelemente und Plugins zulassen will, und wenn ich das ablehne, bekomme ich JS-Fehler, es fehlt einiges und die Demo funktioniert nicht.

      Das meine ich mit "häßlich", also nicht nur optisch nicht so gelungen, sondern auch funktional nicht so weit und offensichtlich instabiler als lightbox.js. Außerdem gibt es genügend Flash-Demos, die damit nicht gehen.

      Kennt vielleicht jemand ein solches Script, das wirklich gut ausgetestet ist und problemlos in aktuellen Browsern funktioniert, keinen 3GHz-Rechner und im IE kein ActiveX benötigt?

      ich hab mich nach langem Testen dann doch für lightbox entschieden, vielleicht ist aber Slimbox eher was für Dich?

      http://www.gruss-aus-essen.de

      Maik

      --
      Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
      Maik. W. aus E. sagt Dankeschön ;-)
      1. Hallo Maik,

        Zu Flash in der Lightbox2 kann ich leider nichts sagen, doch würde mich mal interessieren, ob ich der einzige bin, bei dem das Script im Opera 9 nicht ordentlich funktioniert.
        Vielleicht, zumindes sind wir nicht zu zweit, den mein Opera (9.20 WIN) macht überhaupt keine Mucken

        Dann hast du sicher einen schnelleren Rechner.

        Ich habe jetzt mal im Lightbox-Forum gesucht, da wird mein Problem einige Male beschrieben. Es hat offenbar zu tun mit der schlechten Implementierung von Opacity im Opera 9 - besonders auf schwachbrüstigen Rechnern reagieren solche Seiten extrem träge und lassen sich zum Teil kaum noch scrollen. Im Opera 10 soll das Handling von Opacity dann deutlich verbessert werden; im Moment sollte man aber wohl davon ausgehen, dass Lightbox2 für einen kleinen Teil der Besucher eine echte Spaßbremse ist - und das genaue Gegenteil von "unobtrusive".

        ich hab mich nach langem Testen dann doch für lightbox entschieden, vielleicht ist aber Slimbox eher was für Dich?

        Das läuft bei mir (1,2 GHz) deutlich flüssiger, danke für den Link.

        Grüße,
        Stefan

        1. Grütze .. äh ... Grüße!

          Ich habe jetzt mal im Lightbox-Forum gesucht, da wird mein Problem einige Male beschrieben. Es hat offenbar zu tun mit der schlechten Implementierung von Opacity im Opera 9 - besonders auf schwachbrüstigen Rechnern reagieren solche Seiten extrem träge und lassen sich zum Teil kaum noch scrollen. Im Opera 10 soll das Handling von Opacity dann deutlich verbessert werden; im Moment sollte man aber wohl davon ausgehen, dass Lightbox2 für einen kleinen Teil der Besucher eine echte Spaßbremse ist - und das genaue Gegenteil von "unobtrusive".

          Ja, bei mir läuft LB2 auch extrem zäh ab (O9.24). Deshalb und weil LB2 meiner Meinung nach total "bloated" ist, habe ich mich auf meiner Site für LB1 entschieden, das läuft doch wesentlich besser. Allerdings gibt es da bei Opera auch wieder ein Problem mit animierten Gifs [laden nicht], weshalb ich das Script dahingehend etwas anpassen musste, daß LB bei Gifs nicht mehr gestartet wird (leider fehlt mir die Javascript-Expertise, die nötig wäre, den Fehler zu finden, daher muß ich LB einfach ausschließen)  *seufz* ... aber irgendwie haben bisher alle Umsetzungen dieser Idee irgendwo einen Pferdefuß. :(

          ich hab mich nach langem Testen dann doch für lightbox entschieden, vielleicht ist aber Slimbox eher was für Dich?

          Das läuft bei mir (1,2 GHz) deutlich flüssiger, danke für den Link.

          Hat aber bei mir leider auch das Anim-Gif-Problem


          Kai

          --
          Der vertuschte Gefahrstoff: Dihydrogenmonoxid
          ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
          1. Hallo Kai,

            aber irgendwie haben bisher alle Umsetzungen dieser Idee irgendwo einen Pferdefuß. :(

            Sehe ich auch so.

            Ein weiterer Punkt: Im Firefox, Opera und Safari/Win (nicht im IE) ist dem Benutzer meist der gewohnte Weg versperrt, ein Bild durch Rechsklick über das Kontextmenü abzuspeichern. Es kommt nämlich nicht das Bilder-Kontextmenü, sondern das Link- oder das Seiten-Menü.

            Wer besonderen Wert legt auf Barrierefreiheit, kann so ein Script IMHO nicht einsetzen.

            Grüße,
            Stefan

            1. hi,

              Ein weiterer Punkt: Im Firefox, Opera und Safari/Win (nicht im IE) ist dem Benutzer meist der gewohnte Weg versperrt, ein Bild durch Rechsklick über das Kontextmenü abzuspeichern. Es kommt nämlich nicht das Bilder-Kontextmenü, sondern das Link- oder das Seiten-Menü.

              huh? hab ich da was verpasst? ich kann im FF ohne probs bilder einer thickbox bzw. lightbox mit rechtsklick abspeichern.

              shadow

              1. Hallo,

                huh? hab ich da was verpasst? ich kann im FF ohne probs bilder einer thickbox bzw. lightbox mit rechtsklick abspeichern.

                Stimmt, in Thickbox und Lightbox1 geht's im FF, aber z.B nicht im Safari/Win. Ich hatte in Lightbox2, Lytebox und Slimbox getestet, da geht es weder im FF, noch im Opera oder Safari.

                Grüße,
                Stefan

                1. hi,

                  Ich hatte in Lightbox2, Lytebox und Slimbox getestet, da geht es weder im FF, noch im Opera oder Safari.

                  jain, in der box geht es nicht, aber mit rechtsklick auf das vorschaubild und: ziel speichern unter... gehts. is aber für "normal user" bissi kompliziert,

                  shadow

  4. Schau Dir mal die Lytebox an:
    http://www.dolem.com/lytebox/

    Das ist exakt die Optik und Funktionsweise der Lightbox, nur viel viel schlanker und mit massig zusätzlichen Möglichkeiten. Hab meine Seite vor kurzem auch darauf umgestellt und Flash per I-Frame eingebunden. Funktioniert einwandfrei.

    Gruß,
    Andreas