Julius: URL mit zusätzlichem Attribut

Hallo liebes Forum,

ich habe ein kleines, aber nerviges Problem.
Und zwar möchte ich ein Video über Videolightbox öffnen lassen.
Das ganze funktioniert genau wie mit Bildern.

Das ganze sieht so aus:

  
<a class="voverlay" href="movies/index_videolb/vdbplayer.swf?volume=40&url=video/meinvideo.mp4"></a>  

Leider muss ich den genannten Code in einer URL oder über eine Javascript Funktion aufrufen, damit ich es aus einer Flashanimation aufrufen kann.
Somit muss ich irgendwie den Zusatz "class="voverlay" mit in die URL bekommen. Oder ein Javascript haben, dass diesen Zusatz aufruft.

Ich habe etwas ähnliches gefunden, was aber nur für Lightbox2 funktioniert, vielleicht hilft das beim Helfen weiter :D

  
            <script type="text/javascript">  
function GroupDelegate(id) {  
var objLink = document.getElementById(id);  
Lightbox.prototype.start(objLink);  
}  
</script>  

Ich möchte z.b. den in meiner html datei den Link <a id="meinvideo" class="voverlay" href="movies/index_videolb/vdbplayer.swf?volume=40&url=video/meinvideo.mp4"></a>
hinterlegten link per javascript funktion öffnen.
Nur weiß ich nicht wie. Ich habe vieles versucht und komme nicht weiter.
Ich bin dankbar für jede Hilfe. Ich hoffe ich konnte mein Problem einiger Maßen erklären.

Grüße
Julius

  1. @@Julius:

    nuqneH

    <a class="voverlay" href="movies/index_videolb/vdbplayer.swf?volume=40&url=video/meinvideo.mp4"></a>

    Kein Linktext?

    Und das '&' muss im HTML-Kontext maskiert werden.

    Somit muss ich irgendwie den Zusatz "class="voverlay" mit in die URL bekommen.

    ??

    hinterlegten link per javascript funktion öffnen.

    Per http://de.selfhtml.org/javascript/sprache/eventhandler.htm@title=Eventhandler eine Funktion aufrufen und mit 'return false;' den Request zu dem in @href angegebenen URI unterbinden.

    Ich hoffe ich konnte mein Problem einiger Maßen erklären.

    Nicht wirklich, fürchte ich.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. Hallo Gunnar,

      Kein Linktext?

      Nicht in der html Datei. Dort sind nur die Links hinterlegt, die ich mit der id in einer anderen Datei aufrufe. Dort ist ein Bild eingetragen, über das ich die id abfrage und öffne.

      html-Datei:

        
      <a id="meinvideo" class="voverlay" href="movies/index_videolb/vdbplayer.swf?volume=40&url=video/meinvideo.mp4"></a>  
      
      

      Bild-Datei:

        
      <photo image="images/big/firstframe.jpg" url="hier muss die id "meinvideo" geöffnet werden mit class="voverlay" ">  
      
      

      Und das '&' muss im HTML-Kontext maskiert werden.

      Nein, muss es nicht, ich bastel an einer rein lokalen Anwendung und muss somit auf keinerlei Vorgaben etc. achten. Mit dem & funktioniert bei mir alles wunderbar...

      Somit muss ich irgendwie den Zusatz "class="voverlay" mit in die URL bekommen.

      ??

      Also: Mein Link funktioniert nur richtig mit "class="voverlay". Deswegen brauche ich (wahrscheinlich) eine javascript-Lösung, die mir einen Link ausgibt und dabei "class="voverlay" beachtet.

      hinterlegten link per javascript funktion öffnen.

      Per http://de.selfhtml.org/javascript/sprache/eventhandler.htm@title=Eventhandler eine Funktion aufrufen und mit 'return false;' den Request zu dem in @href angegebenen URI unterbinden.

      Der Link war schonmal hilfreich, ich brauche also in meinem Fall "onclick".
      Leider ist mir javascript völlig fremd, weshalb ich hier nach Hilfe suche.
      Wie setzte ich das nun um?
      onclick -> Link öffnen -> dabei "class="voverlay""
      Ein Beispiel wäre SEHR hilfreich.

      Ich hoffe ich konnte mein Problem einiger Maßen erklären.

      Nicht wirklich, fürchte ich.

      I know... sorry -.-

      Ich hoffe jetzt ist einiges klar geworden.
      Ich freue mich auf jede Hilfe von euch, vielen Dank,

      Julius

      1. Also: Mein Link funktioniert nur richtig mit "class="voverlay".

        Ich meine natürlich ohne class="voverlay" :D

        Julius

        1. Ich meine natürlich ohne class="voverlay" :D

          Oh Gott was ist nur heute los, war doch richtig... -.-

          Sorry, Julius

      2. @@Julius:

        nuqneH

        Und das '&' muss im HTML-Kontext maskiert werden.

        Nein, muss es nicht, ich bastel an einer rein lokalen Anwendung und muss somit auf keinerlei Vorgaben etc. achten.

        Ob lokal oder über HTTP ist völlig egal; es handelt sich um HTML, da ist auf die Vorgaben von HTML zu achten.

        Der Validator meldet es als Fehler. '&url=' führt zu einem Parse-Fehler, wobei „die Fehlerbehandlung wohl definiert“ ist.

        Mit dem & funktioniert bei mir alles wunderbar...

        Noch. Durch die festgelegte Token-Verarbeitung.

        Wenn es in einer zukünftigen HTML-Version eine Zeichenentität 'url' geben sollte, ist Schluss mit „funktioniert wunderbar“. Siehe unter Errors involving fragile syntax constructs.

        Sobald du einen URI in den HTML-Kontext bringst, solltest du '&' als '&amp;' escapen, also:
        <a id="meinvideo" class="voverlay" href="movies/index_videolb/vdbplayer.swf?volume=40&amp;url=video/meinvideo.mp4"></a>

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. Hallo Gunnar,

          Ob lokal oder über HTTP ist völlig egal; es handelt sich um HTML, da ist auf die Vorgaben von HTML zu achten.

          Hallo? Es ist mir wirklich egal, ob da ein & ist oder nicht.
          Ich kann das ganze im Notfall auch weglassen, es bestimmt nur die anfängliche Soundeinstellung.

          Und bei meinem Problem hilft mir das in absolut KEINSTER Art und Weise weiter.

          Sobald du einen URI in den HTML-Kontext bringst, solltest du '&' als '&amp;' escapen, also:
          <a id="meinvideo" class="voverlay" href="movies/index_videolb/vdbplayer.swf?volume=40&amp;url=video/meinvideo.mp4"></a>

          Okay, nochmal, mir ist es WIRKLICH egal, ob ich ein '&' oder &amp; schreibe.
          In diesem Fall reicht es völlig.
          Ich werde es in Zukunft machen, wenn ich für öffentliche Anwendungen etwas erstelle...

          Hast du denn auch einen Beitrag, der zur Lösung des Problems beiträgt?
          Ich wäre dir sehr verbunden.

          Grüße
          Julius

  2. Hallo!

    Leider muss ich den genannten Code in einer URL oder über eine Javascript Funktion aufrufen, damit ich es aus einer Flashanimation aufrufen kann.

    Dann schau dir die API (Programmierschnittstelle) des Lightbox-Scriptes an, welches du verwendest. Dort gibt es höchstwahrscheinlich eine Möglichkeit, die Lightbox programmatisch zu öffnen, also mit reinem Javascript-Code. Dazu kannst du in die Dokumentation des Scriptes schauen. Welches Script verwendest du?

    Die HTML-Klasse ist für das Script nur eine Möglichkeit, alle Links (a-Elemente) im Dokument zu finden, denen ein JavaScript-Event-Handler hinzugefügt werden muss. Innerhalb des JavaScripts spielt diese Klasse dann keine Rolle mehr. Es ist auch nicht möglich, eine Klasse in einer URL unterzubringen. Die URL und der richtige JavaScript-Aufruf sollten reichen.

    Grüße,
    Mathias

    1. Hallo molily,

      Dann schau dir die API (Programmierschnittstelle) des Lightbox-Scriptes an, welches du verwendest. Dort gibt es höchstwahrscheinlich eine Möglichkeit, die Lightbox programmatisch zu öffnen, also mit reinem Javascript-Code. Dazu kannst du in die Dokumentation des Scriptes schauen. Welches Script verwendest du?

      Ich habe herausgefunden, dass voverlay in einer css-Datei mit dem Namen overlay-minimal.css eingetragen ist.
      Hier der Code:

        
      /* the overlayed element */  
      #voverlay {  
      	  
      	/* growing background image */  
      	background-image:url(white.png);  
      	  
      	/* dimensions after the growing animation finishes  */  
      	width:1280px;  
      	height:720px;  
      	  
      	/* initially overlay is hidden */  
      	display:none;  
      	  
      	/* some padding to layout nested elements nicely  */  
      	padding:35px;  
      }  
        
      /* default close button positioned on upper right corner */  
      #voverlay .close {  
      	background-image:url(close.png);  
      	position:absolute;  
      	right:5px;  
      	top:5px;  
      	cursor:pointer;  
      	height:35px;  
      	width:35px;  
      }  
        
      #voverlay .vcontainer{  
      	left:0;  
      	top:0;  
      	width:100%;  
      	height:100%;	  
      	background:url(loading.gif) no-repeat 50% 50%;  
      }  
        
      
      

      Die HTML-Klasse ist für das Script nur eine Möglichkeit, alle Links (a-Elemente) im Dokument zu finden, denen ein JavaScript-Event-Handler hinzugefügt werden muss. Innerhalb des JavaScripts spielt diese Klasse dann keine Rolle mehr. Es ist auch nicht möglich, eine Klasse in einer URL unterzubringen. Die URL und der richtige JavaScript-Aufruf sollten reichen.

      Das habe ich leider nicht alles verstanden :D
      Also ist es mit einer URL nicht möglich, okay.
      Mit javascript schon? Ich habe leider noch nicht verstanden, wie ich mit javascript einen Link (oder Link id) und eine Klasse aufrufe.

      Gruß
      Julius

      1. Hallo,

        bitte lies noch einmal, was ich geschrieben habe:

        »Dann schau dir die API (Programmierschnittstelle) des Lightbox-Scriptes an, welches du verwendest. Dort gibt es höchstwahrscheinlich eine Möglichkeit, die Lightbox programmatisch zu öffnen, also mit reinem Javascript-Code. Dazu kannst du in die Dokumentation des Scriptes schauen. Welches Script verwendest du?«

        Ich habe herausgefunden, dass voverlay in einer css-Datei mit dem Namen overlay-minimal.css eingetragen ist.

        Das ist gut zu wissen, hilft uns bei dem Problem nicht weiter.

        Die Klasse ist einfach nur Name, ein Bezeichner. Über die Klasse können CSS-Regeln und JavaScript-Code das Element finden und ansprechen.

        Die Logik, dass beim Klick auf das Element eine Lightbox aufgeht, ist in JavaScript programmiert. Die wirst du nicht im Stylesheet finden.

        Also ist es mit einer URL nicht möglich, okay.
        Mit javascript schon?

        Ja.
        Die Lightbox, die du verwendest, funktioniert bereits über JavaScript (nehme ich mal an).

        Ich habe leider noch nicht verstanden, wie ich mit javascript einen Link (oder Link id) und eine Klasse aufrufe.

        Das lässt sich so allgemein auch nicht sagen – dazu musst du dir die Dokumentation des Scripts anschauen, das du verwendest.

        Mathias

        1. Hallo molily, :)

          »Dann schau dir die API (Programmierschnittstelle) des Lightbox-Scriptes an, welches du verwendest. Dort gibt es höchstwahrscheinlich eine Möglichkeit, die Lightbox programmatisch zu öffnen, also mit reinem Javascript-Code. Dazu kannst du in die Dokumentation des Scriptes schauen. Welches Script verwendest du?«

          Ich habe mir jetzt stundenlang das Script angeguckt, weiter auf der Seite geforscht, in deren Forum. Ich komm nicht weiter.
          Ich glaube es ist nicht wirklich dafür gedacht, dass ich Videos aus der Flashanimation aufrufe... aber ich weiß, dass es geht, wenn ich nur diese class da rein bekomme... :(

          Die Klasse ist einfach nur Name, ein Bezeichner. Über die Klasse können CSS-Regeln und JavaScript-Code das Element finden und ansprechen.

          Okay, danke, auch gut zu wissen :)

          Die Logik, dass beim Klick auf das Element eine Lightbox aufgeht, ist in JavaScript programmiert. Die wirst du nicht im Stylesheet finden.

          Das JavaScript scheint das gleiche, wie bei der normalen Lightbox2 zu sein.

          Mir ist noch eingefallen, dass ich vielleicht einfach in meiner html-Datei diesen Link einfügen kann

            
          <a id="meinvideo" class="voverlay" href="movies/index_videolb/vdbplayer.swf?volume=40&amp;url=video/meinvideo.mp4"></a>  
          
          

          und diesen dann in meiner xml-Datei (Bilder) aufrufen kann über die ID.
          Leider weiß ich nicht, wie ich auf diese ID zugreifen soll, weil es ja eine andere Datei ist.

          Ich bin leicht verzweifelt :/

          Hier nochmal die Sachen, die ich benutzte:
          http://videolightbox.com/
          http://www.flashxml.net/how-to-use-javascript-functions.html

          Grüße
          Julius

    2. Hallo molily,

      Dann schau dir die API (Programmierschnittstelle) des Lightbox-Scriptes an, welches du verwendest. Dort gibt es höchstwahrscheinlich eine Möglichkeit, die Lightbox programmatisch zu öffnen, also mit reinem Javascript-Code. Dazu kannst du in die Dokumentation des Scriptes schauen. Welches Script verwendest du?

      Ich habe herausgefunden, dass voverlay in einer css-Datei mit dem Namen overlay-minimal.css eingetragen ist.
      Hier der Code:

        
      /* the overlayed element */  
      #voverlay {  
      	  
      	/* growing background image */  
      	background-image:url(white.png);  
      	  
      	/* dimensions after the growing animation finishes  */  
      	width:1280px;  
      	height:720px;  
      	  
      	/* initially overlay is hidden */  
      	display:none;  
      	  
      	/* some padding to layout nested elements nicely  */  
      	padding:35px;  
      }  
        
      /* default close button positioned on upper right corner */  
      #voverlay .close {  
      	background-image:url(close.png);  
      	position:absolute;  
      	right:5px;  
      	top:5px;  
      	cursor:pointer;  
      	height:35px;  
      	width:35px;  
      }  
        
      #voverlay .vcontainer{  
      	left:0;  
      	top:0;  
      	width:100%;  
      	height:100%;	  
      	background:url(loading.gif) no-repeat 50% 50%;  
      }  
        
      
      

      Die HTML-Klasse ist für das Script nur eine Möglichkeit, alle Links (a-Elemente) im Dokument zu finden, denen ein JavaScript-Event-Handler hinzugefügt werden muss. Innerhalb des JavaScripts spielt diese Klasse dann keine Rolle mehr. Es ist auch nicht möglich, eine Klasse in einer URL unterzubringen. Die URL und der richtige JavaScript-Aufruf sollten reichen.

      Das habe ich leider nicht alles verstanden :D
      Also ist es mit einer URL nicht möglich, okay.
      Mit javascript schon? Ich habe leider noch nicht verstanden, wie ich mit javascript einen Link (oder Link id) und eine Klasse aufrufe.

      Gruß
      Julius