Avatar billede ch007 Nybegynder
04. december 2008 - 22:32 Der er 17 kommentarer og
2 løsninger

Tjek om billede eksistere på anden hjemmeside

Hvis man nu linker til en anden hjemmeside, kan man så tjekke om et billede eksisterer?

hvis jeg på hjemmesiden www.a.dk har et <img src=http://www.b.dk/img.jpg> kan jeg så tjekke om billedet findes/vises eller om det opstår en fejl?

Hvis ja, hvordan ;)
Avatar billede olebole Juniormester
04. december 2008 - 22:35 #1
<ole>

var oImg = new Image();
oImg.onerror = function(){alert("Error")};
oImg.onabort = function(){alert("Aborted")};
oImg.src = "http://www.domain.dk/sti/til/pic.jpg";

/mvh
</bole>
Avatar billede ch007 Nybegynder
04. december 2008 - 22:54 #2
Javascript gætter jeg på... Hvordan laver jeg sådan at den ikke kommer med en alert? Men at den viser blivet hvis det findes og hvis-ikke så skriver den fx "Fejl"
Avatar billede olebole Juniormester
04. december 2008 - 23:07 #3
Det har jeg absolut ingen anelse om. Det kommer jo helt an på, hvordan det skal bruges  =)
Avatar billede ch007 Nybegynder
04. december 2008 - 23:10 #4
blivet = billedet - UPS:(

Det skal bruges sådan:

Hvis billede http://www.b.dk/1.jpg findes så skal det vises, hvis ikke skal der skrives "fejl"...
Avatar billede olebole Juniormester
04. december 2008 - 23:11 #5
Hvis det er alt, du kan bidrage med, kan jeg ikke hjælpe dig
Avatar billede ch007 Nybegynder
04. december 2008 - 23:15 #6
Jeg forstår dig ikke helt...

Du har givet mig koden:

var oImg = new Image();
oImg.onerror = function(){alert("Error")};
oImg.onabort = function(){alert("Aborted")};
oImg.src = "http://www.domain.dk/sti/til/pic.jpg";

Den skriver i en box (alert) Error hvis billedet ikke findes.

Jeg vil gerne at de viser billedet hvis det findes og findes det ikke skriver på siden: "Fejl".

Er du ikke med på hvad jeg mener?
Avatar billede ch007 Nybegynder
04. december 2008 - 23:17 #7
alert("Error") skal erstates af dokument.write

Men det virker ikke... Men tilsvarende...
Avatar billede olebole Juniormester
04. december 2008 - 23:21 #8
Nej, det var årtusindskiftet, man brugte document.write, så det skal ikke erstatte alert'en. At kode web er trods alt mere komplekst end som så. Hvis jeg skal hjælpe, må du komme med mere information om, hvordan det skal bruges  =)
Avatar billede kalp Novice
04. december 2008 - 23:23 #9
Det her du mener?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<script type="text/javascript">
function checkPic(){
var oImg = document.getElementById("pic");
oImg.onerror = function(){oImg.style.display = 'none'; document.getElementById('error').style.display ='block';};
oImg.onabort = function(){oImg.style.display = 'none'; document.getElementById('error').style.display ='block';};
oImg.src = oImg.src;
}
</script>
<BODY onload="checkPic()">
<img id="pic" src="http://e-games.dk/Produkter/tilbehoer/images/Bordfodbold/PlastBoldFelterBig.jpg" style="display:block;" />
<label id="error" style="display:none;">fejl</label>
</BODY>
</HTML>
Avatar billede ch007 Nybegynder
04. december 2008 - 23:28 #10
kalp: Det virker fint.

olebole: document.write virker også nu:

<html>
<body>

<script type="text/javascript">


var oImg = new Image();
oImg.onerror = function(){document.write("<b>Fejl1</b>")};
oImg.onabort = function(){document.write("<b>Fejl2</b>")};
//oImg.onload = function(){document.write("<b>Ingen fejl</b>")};
oImg.onload = function(){document.write("<Img src=http://www.eksperten.dk/img/recycle.gif>")};
oImg.src = "http://www.eksperten.dk/img/recycle1.gif";

</script>

<p>
Tjek
</p>

</body>
</html>



Dog viser den så ikke teksten: "Tjek", hvis der opstår fejl... Hvorfor ikke?


Vil I begge smide et svar. Tak!
Avatar billede olebole Juniormester
04. december 2008 - 23:34 #11
Jaja ... der er enormt meget, der virker - men det er ikke en begrundelse, jeg kan bruge til noget. Årsagen til, der ikke er noget som skriver 'Tjek'? Måske, at det ikke står skrevet i de koder, vi taler om(?)  =)
Avatar billede olebole Juniormester
04. december 2008 - 23:36 #12
Husk i øvrigt en fuld DTD (med URL), så du ikke disabler CSS i IE:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Avatar billede ch007 Nybegynder
04. december 2008 - 23:43 #13
Der står Tjek i den nyeste kode jeg har postet...
Avatar billede kalp Novice
04. december 2008 - 23:45 #14
Du overskriver dit dokument... laver lige en fy fy..

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">


var oImg = new Image();
oImg.onerror = function(){document.write(document.body.innerHTML + "<b>Fejl1</b>")};
oImg.onabort = function(){document.write("<b>Fejl2</b>")};
//oImg.onload = function(){document.write("<b>Ingen fejl</b>")};
oImg.onload = function(){document.write("<Img src=http://www.eksperten.dk/img/recycle.gif>")};
oImg.src = "http://www.eksperten.dk/img/recycle1.gif";
</script>
</HEAD>

<BODY>
<p>
Tjek
</p>
</BODY>
</HTML>
Avatar billede kalp Novice
04. december 2008 - 23:46 #15
jeg tror det korrekte ville være at tilføje den via. XML..
Avatar billede kalp Novice
04. december 2008 - 23:50 #16
ja eller bare en div..
kan egentlig ikke se hvorfor det lige skal være document.write:)
Avatar billede ch007 Nybegynder
05. december 2008 - 00:53 #17
Jeg takker!
Avatar billede olebole Juniormester
05. december 2008 - 11:29 #18
I moderne kode ser det sådan ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Tjek for billedes eksistens</title>
<style type="text/css">
#errMsg {
    font-weight: bold;
    color: red;
}

</style>
</head>
<body>

<div id="errMsg">&nbsp;</div>

<script type="text/javascript">
var oImg = new Image();
oImg.onerror = function(){document.getElementById("errMsg").firstChild.nodeValue = "Fejl 1"};
oImg.onabort = function(){document.getElementById("errMsg").firstChild.nodeValue = "Fejl 2"};
//oImg.onload = function(){document.getElementById("errMsg").firstChild.nodeValue = "Ingen fejl"};
oImg.onload = function(){
    var oMsg = document.getElementById("errMsg");
    var o = document.createElement("img");
    o.setAttribute("src", oImg.src);
    oMsg.parentNode.replaceChild(o, oMsg);
};
oImg.src = "http://www.eksperten.dk/img/recycle1.gif";
</script>

</body>
</html>
Avatar billede olebole Juniormester
05. december 2008 - 11:30 #19
- og tak for points  ;o)
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