Avatar billede Fiber Bjørn Juniormester
16. april 2011 - 00:38 Der er 10 kommentarer og
1 løsning

Lightbox - Lave et link i Title

Jeg har denne kode som virker fint ude at jeg prøver at linke på title="" men jeg har prøvet at sætte href ind i title men det virker ikke. Er der en anden måde man kan linke i Title på.
Grungen til det er at jeg gerne vil have det sådan at jeg kan højre klikke et sted på billedet i Lightbox og derved downloade det billede.

-----------------------------

<?php
$ialt_billeder = 0;
$handle = opendir('../billeder/albums/billeder/2010/frede-mikkel/');
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
        echo '<a href="../billeder/albums/billeder/2010/frede-mikkel/'.$file.'" title="fed<a href="../billeder/albums/billeder/2010/frede-mikkel/'.$file.'"></a>" target="_blank" rel="lightbox[Frede]"><img src="../billeder/albums/billeder/2010/frede-mikkel/'.$file.'" width="100" height="65" /></a>';
$ialt_billeder = $ialt_billeder+1;}
}
closedir($handle);
echo "   Billeder i alt ".$ialt_billeder."";
?>
Avatar billede webweaver Praktikant
16. april 2011 - 01:07 #1
Du kan ikke have et link inde i din title attribut, hvis det er det du prøver på.

Burde billedet ikke kunne "downloades" alligevel, bare ved at sætte det ganske normalt ind, højreklikke på det og trykke "gem som"?

Skal du bare have billedet til at være et ganske normalt link?
I såfald fjern din title attribut på a-tagget.

echo '<a href="../billeder/albums/billeder/2010/frede-mikkel/' . $file . '" target="_blank" rel="lightbox[Frede]"><img src="../billeder/albums/billeder/2010/frede-mikkel/' . $file . '" width="100" height="65" /></a>';
Avatar billede Fiber Bjørn Juniormester
16. april 2011 - 09:12 #2
Jeg har lige testet det af og title kommer ikke med på billedet.

Jeg ved ikke om du kender til Lightbox? jeg fandt Lightbox i går og er derfor helt ny :) men jeg kan ikke finde et sted på billedet hvor jeg kan højre klikke og derved gemme billede.

men det kan godt være at jeg skal ind og finde det i opsætningen i Lightbox
Avatar billede webweaver Praktikant
16. april 2011 - 10:00 #3
Nej title kommer ikke med. Det er ikke en titel som bliver vist eller noget, det bruges bare som en beskrivende tekst til dit billede eller link.

Jeg kender godt Lightbox (går ud fra, at det er billedgalleriet), som vi snakker om.

Opsætningsmuligheder for Lightbox kender jeg intet til, men det kan da være, at man kan enable og disable en JavaScript funktion, der afgør om man må gemme billedet eller ej.

Men det er når du har klikket på et thumbnail, og det bliver stort, så vil du kunne gemme det? Der kan jeg i hvert fald sagtens gå ind og højreklikke på billedet og klikke gem som, når jeg tester det på Lightbox demosystem, på deres hjemmeside.
Avatar billede Fiber Bjørn Juniormester
16. april 2011 - 10:13 #4
Ja det kan jeg godt se at man kan gøre inde på deres hjemmeside.

Jeg har downloadet Lightbox 2.05 som ligger på deres hjemmeside og lagt ind på min hjemmeside.

Se nederst på denne side:
http://www.blochracing.dk/priser.php

Men der kan jeg nemlig ikke "gem billede som" :(
Men der er vel ikke andet for end jeg må lede lidt efter denne funktion også se om jeg kan disable denne funktion med at billeder er låst.
Avatar billede xicrow Nybegynder
16. april 2011 - 10:46 #5
Hej Steffen.

Du kan også prøve at skrive dit link således:
echo '<a href="../billeder/albums/billeder/2010/frede-mikkel/'.$file.'" title="'.htmlentities('<a href="../billeder/albums/billeder/2010/frede-mikkel/'.$file.'">Download billede</a>').'" target="_blank" rel="lightbox[Frede]"><img src="../billeder/albums/billeder/2010/frede-mikkel/'.$file.'" width="100" height="65" /></a>';


Og i en lidt mere overskuelig udgave:
$img_url = '../billeder/albums/billeder/2010/frede-mikkel/'.$file;
$title = htmlentities('<a href="'.$img_url.'">Download billede</a>');
echo '<a href="'.$img_url.'" title="'.$title.'" target="_blank" rel="lightbox[Frede]"><img src="'.$img_url.'" width="100" height="65" /></a>';


Det eneste jeg har gjort er at smide htmlentities() funktionen på din titel. Den funktion vil konvertere f.eks. < til & l t ; (uden mellemrum) og " til & q u o t ; (igen uden mellemrum).

Problemet du har med din eksisterende titel er nemlig at du skriver title="<a href=" <-- Så her afslutter du faktisk din title attribut.
Med htmlentities vil kildekoden i stedet komme til at se således ud title="& l t ;a href=& q u o t ;...".

Jeg skulle mene light box derefter tager titlen og viser den ganske korrekt alligevel.

/xicrow
Avatar billede Fiber Bjørn Juniormester
16. april 2011 - 10:42 #6
Jeg fandt lige denne på lightbox hjemmeside

title="&lt;a href=&quot;link.html&quot;&gt;my link&lt;/a&gt;"

Den gør at man kan klikke på billede navnet og derved få vist billedet som "rå" billede også derved kan jeg "gem billede som"

Men det er jo stadig ikke helt det jeg leder efter :) men er da lidt på vej.....
Avatar billede xicrow Nybegynder
16. april 2011 - 11:03 #7
Problemet med ovenstående løsning, som du nok også har bemærket, er at hvis du holde musen over en af miniaturene så får du en grim titel-box der popper op, og viser dit link som almindelig html.

Nu er jeg ikke så bekendt med Lightbox, da jeg mest bruger FancyBox (http://fancybox.net/), men den bedste løsning du kan lave er nok at ændre på hvordan Lightbox viser "Billede x af x" samt luk linket (altså den "box" der kommer under billedet med titel osv.).

Hvis du kan komme til at pille ved den, så kan du via. javascript sætte et link ind der automatisk tager adressen til billedet, og linker direkte til den f.eks.

Du kan så yderligere lave et PHP script, som du kan sende adressen til billedet til, der så laver en tvungen download (altså så der bare kommer en boks op og spørger om du vil åbne eller downloade filen), i stedet for blot at linke direkte til billedet.

Så i stedet for at du linker således:
<a href="billeder/albums/billeder/2010/frede-mikkel/DSC_9296.jpg">Billede navn: DSC_9296.jpg</a>


Så linker du sådan her:
<a href="?download=billeder/albums/billeder/2010/frede-mikkel/DSC_9296.jpg">Billede navn: DSC_9296.jpg</a>


/xicrow
Avatar billede Fiber Bjørn Juniormester
16. april 2011 - 12:20 #8
# 16
Jeg kan enlig godt lide fancybox :) og har lige siddet og testet lidt af. Og der kan jeg jo gemme billedet med Højre klik :)

Men hvis jeg nu har flere billede gallerier på samme side så synes jeg at rel="example_group" giver mig lidt problemer.

Skal jeg så lave dette script for hver galleri jeg har på samme side?

altså rel="galleri_2"

<script type="text/javascript">
        $(document).ready(function() {
            $("a[rel=galleri_2]").fancybox({
                osv................................

Hvordan har du løst dette problem?

Org script

<script type="text/javascript">
        $(document).ready(function() {
            $("a[rel=example_group]").fancybox({
                'transitionIn'        : 'none',
                'transitionOut'        : 'none',
                'titlePosition'     : 'over',
                'titleFormat'        : function(title, currentArray, currentIndex, currentOpts) {
                    return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? '   ' + title : '') + '</span>';
                }
            });
        });
    </script>
Avatar billede xicrow Nybegynder
18. april 2011 - 10:44 #9
Jeg har egentligt bare lavet det på den måde at jeg har en div rundt om mine galleri-billeder, og via den sætter jeg FancyBox på billederne, eks:

<div class="gallery">
    <a href="billede.jpg" rel="samling1"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling1"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling1"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling1"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling1"><img src="thumbs/billede.jpg" /></a>
</div>

<div class="gallery">
    <a href="billede.jpg" rel="samling2"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling2"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling2"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling2"><img src="thumbs/billede.jpg" /></a>
    <a href="billede.jpg" rel="samling2"><img src="thumbs/billede.jpg" /></a>
</div>

<script type="text/javascript">
$(document).ready(function() {
    $(".gallery a").fancybox({
        'transitionIn'    :    'none',
        'transitionOut'    :    'none',
        'titlePosition'    :    'over',
        'titleFormat'    :    function(title, currentArray, currentIndex, currentOpts){
            return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? '  ' + title : '') + '</span>';
        }
    });
});
</script>
Avatar billede Fiber Bjørn Juniormester
18. april 2011 - 15:15 #10
xicrow smid et svar og tak for hjælpen :)
Avatar billede xicrow Nybegynder
18. april 2011 - 15:43 #11
Velbekomme du, er glad for at kunne hjælpe.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester