• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

"Link in Link" | Lightbox - Link im Titel

J

j-l-n

Guest
Ich benutze diese Lightbox.

Dort gibt man im title des Links die Bildunterschrift an, die beim Klick unter dem sich öffnenden Bild angezeigt wird.
Beispiel:
HTML:
<a href="image.png" title="Bildunterschrift" data-lightbox="images">


Nun möchte ich allerdings als Bildunterschrift einen Link angeben, was folgend aussieht:
Code:
<a href="<?php echo $info['dirname']."/".$info['basename']; ?>" title="<a href='uploaded-files/<?php echo $info['basename']; ?>' target='_blank'>in Originalgröße anzeigen</a>" data-lightbox="images">
Zwar wird der Link korrekt angezeigt, allerdings passiert beim Klick darauf gar nichts...
Er ist jedoch richtig verlinkt, denn wenn ich Rechtsklick/in neuem Tab öffnen wähle, wird das angegebene Ziel aufgerufen.
 
Kann man in einem Title Attribut einen a-Tag einbauen?

Ich habe so was noch nie gemacht oder gesehen...
 
Zuletzt bearbeitet:
Ich hab das mal grade probiert. Das HTML wird einfach als Plain-Text dargestellt. Wäre mir auch neu gewesen, wenn das title-Tag HTML auswerten würde.
 
Ich hab das mal grade probiert. Das HTML wird einfach als Plain-Text dargestellt. Wäre mir auch neu gewesen, wenn das title-Tag HTML auswerten würde.

Ja, mir auch. Aber hast du's denn mit der Lightbox2 ausprobiert, denn wenn die eingebunden ist, wird das Ganze - wie es soll - eindeutig zu einem Link.
Nur passiert da beim Klick eben nichts... ;)
 
Nö, ich habs nicht mit einer Lightbox versucht.

Allerdings habe ich die Vermutung, dass das nicht funktionieren wird. Die Lightbox erkennt die Links ja anhand des data-lightbox="images" Attributes. Dieses fehlt im zweiten a (title) und ich vermute mal, dass er dann durcheinander kommt.

Hast du mal ein Online Beispiel dieses Verhaltens?
Bekommst du eventuell irgendwelche Fehler in der Konsole?
 
Ergänzung:
Ich habe gerade folgendes auf der Demo-Seite der Lightbox gemacht:
Code:
<a title="Click on the right side of the image to move forward. <a href='#'>blaa</a>" data-lightbox="example-set" href="img/demopage/image-3.jpg" class="example-image-link"><img width="150" height="150" alt="Plants: image 1 0f 4 thumb" src="img/demopage/thumb-3.jpg" class="example-image"></a>
Der Link wird korrekt in der Lightbox angezeigt... Ziemlich cool, ich hätte nicht gedacht das man im title Attribut a-Tags einbauen kann :)
 
Hast du mal ein Online Beispiel dieses Verhaltens?

Muss mal erst noch etwas ausprobieren...

EDIT:
Wenn du dort (Link entfernt) auf den Text "in Originalgröße öffnen" klickst, passiert gar nichts. Aber wenn du draufklickst und im Kontextmenü Link in neuem Tab öffnen wählst, funktioniert es seltsamerweise...

PS: gibt es keinen BBCode für durchgestrichen?
 
Zuletzt bearbeitet:
Noch eine Frage: die Bilder lese ich mit einer Schleife aus dem Verzeichnis aus:
PHP:
$folder = "uploaded-files"; 
$all_pictures = scandir($folder); 
foreach ($all_pictures as $picture) {


Allerdings werden nun als erste zwei Bilder der Ordner an sich und das übergeordnete Verzeichnis eingebunden; und nicht nur wie gewünscht die Bilder im Verzeichnis. (--> siehe Link oben)
Wie kann ich das beheben?
 
Auf dem Titel ist wahrscheinlich ein event.preventDefault() im onclick. Du könntest mal probieren in dem <a> ein onclick zu registrieren und dort dann event.stopPropagation() aufzurufen. Mal sehen, ob's dann funktioniert.

scandir liefert dir einfach alle Dateien und Ordner in deinem Verzeichnis und "." und ".." sind in jedem Ordner drin...
 
Ich hab jetzt mal eine ganz simple, kleine Funktion gebaut:
Code:
function open_FullSizeImage(link) {
  "use strict";
  var new_window = window.open(link, '_blank');
  new_window.focus();
  alert("Funktion ausgeführt, Bild in Originalgröße in neuem Tab geöffnet.");
}


Und dann die Verknüpfung in der Lightbox:
PHP:
<a href="<?php echo $info['dirname']."/".$info['basename']; ?>" title="<?php echo $info['basename']; ?> - <a href='uploaded-files/<?php echo $info['basename']; ?>' target='_blank' onclick='open_newTab(this.href)'>in Originalgröße anzeigen</a>" data-lightbox="images">

<img src="<?php echo $info['dirname']."/".$info['basename'];?> alt="Bild wird geladen" height="100"/></a>


Wie kann ich das Problem mit den angezeigten Ordnern verhindern?
 
Ich habs bisher immer mit einer simplen if-Abfrage verhindert.

PHP:
if ($picture != "." && $picture != "..") {
...
}

Hat immer wunderbar funktioniert. Vielleicht gibt es aber auch eine PHP-Funktion dafür, keine Ahnung...
 
hast du das mit dem event.stopPropagation() ausprobiert? Das sollt verlässlicher funktionieren, da man im FF z.B. einstellen kann, dass mit JS keine neuen Fenster geöffnet werden können.

Ja, es klappt perfekt. Ich hab's jetzt darauf umgestellt - danke nochmal!
 
Zurück
Oben