Avatar billede Peer Praktikant
27. april 2026 - 20:09 Der er 4 kommentarer

problem med download i <a href=" " download> tag i JavaScript

Jeg sidder og bakser med et billedgalleri lavet med HTML og JS hvor det er meningen at man bare skal klikke på et givent billede, og så downloades det direkte i stedet for at skulle højreklikke --> gem som osv..
Jeg har en ekstern JS fil med array, og så en lykke med JS hvori jeg ikke kan få <a href=”xxx.xx” download > delen til at fungerer med syntaksen ’download’. Har efterhånden prøvet adskillige kombinationer, og det vil bare ikke. Nogle der har et bud?

Kodningen er som følgende:

ekstern JS fil:
const billede = [
"1.jpg",
"2.jpg",
"3.jpg"
];
osv.

<html><head> sektionen:
<SCRIPT LANGUAGE="JavaScript" SRC="billedliste.js"></SCRIPT>

<body sektionen:
<p id="vis"></p>

<script>
var fLen = billede.length;
let resultat = "";

for (let i = 0; i < fLen; i++)
{

resultat += "<a href=' " + billede[i] + " ' download>" + "<IMG src='" + billede[i] + "'>" + "</a>"; 
//                                        ========
document.getElementById("vis").innerHTML = resultat;
}
</script>

Et enkelt script som bliver stylet med css.
Avatar billede erikjacobsen Ekspert
28. april 2026 - 17:54 #1
Fortæl gerne hvad det er der går galt i stedet for "det vil bare ikke".  Jeg kan se eet problem i din for-løkke. Den tilordning til boget innerhtml skal være udenfor løkken. Men jeg ved ikke om det er det eneste.

  for (let i = 0; i < fLen; i++)
  {
 
  resultat += "<a href=' " + billede[i] + " ' download>" + "<IMG src='" + billede[i] + "'>" + "</a>";
  //                                        ========
  }
  document.getElementById("vis").innerHTML = resultat;
Avatar billede Peer Praktikant
28. april 2026 - 20:09 #2
Kan ikke registrerer nogen forskel om innerHTML er før- eller efter }
Billederne bliver stylet ned med css, så der er 5 ”små” billeder på linje på en alm. pc skærm. Meningen er så at et klik på et givent billede sender det direkte til download, der som vanligt informeres om i øverste højre hjørne i browseren ved download.
Men det ovennævnte tags, skalerer bare billedet op til skærmstørrelse uden at downloade, og øvrige ”små billeder” forsvinder, og det kræver et klik på tilbage knappen for at få ”billede” siden igen. Har prøvet forskellige kombinationer med mellemrum, flyttet argustroffer’, > og ”
Det undre mig meget, at JS fuldkommen ignorere ordet download!!!
Avatar billede erikjacobsen Ekspert
28. april 2026 - 21:05 #3
Næh, det gør ingen forskel, men den skal stå udenfor.

Javascript har ikke en snus at gøre med fortolkning af download-attributten at gøre.

Der var et mellemrum foran filnavnet på et billede, som jeg har fjernet nedenfor. Og det ser ud til at virke som du ønsker. Browsere reagerer lidt forskelligt på download-attributten, men de downloader.

<html><head>
<style>

  img {width: 10%}
</style>
</head>
<body>
<p id="vis"></p>

<script>
const billede = [
"qwqweqwewqweqwe.jpg",
"2.jpg",
"3.jpg"
];
var fLen = billede.length;
let resultat = "";

for (let i = 0; i < fLen; i++)
{

resultat += "<a href='" + billede[i] + " ' download>" + "<img src='" + billede[i] + "'>" + "</a>";
//                                        ========

}
document.getElementById("vis").innerHTML = resultat;
</script>

</body>
</html>
Avatar billede Peer Praktikant
Skrevet i går kl. 22:36 #4
For pokker da!!! hvor har jeg kæmpet med det, - kopieret din kodning, samme resultat i forskellige browser, - ingen download. Slettet al JS script, og afprøvet ren HTML <a href="1.jpg" download><img src="1.jpg"></a> og heller ingen download, så mit sidste skud blev at afprøve det på en server, og det var åbenbart løsningen, for begge versioner virker når det ligger ”ude i skyen”
Men det undre mig at det ikke virker på en lokal pc´er, - download attributten  må vel betragtes som at flytte fra en mappe til en anden, i Windows tilfælde, til mappen ”overførelser”.

Overvejer at lave download linket på en knap i stedet for på billedet, og tænker at det vel er den samme kodelinje indsat i et <button> tags eller hvad?, - Er det noget du umiddelbart med sikkerhed kan bekræfte, så jeg ikke får flere frustrationer og grå hår (-:
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