bassebhu Medlem sedan nov. 2001 6 480 inlägg Frågan 1 juli 2002 17:20 #1 Hej!
Kan man kolla om url hittas?
Jag vill att besökarna skriver in sökvägen till sina bilder, men ofta så skriver de fel url och då blir det inte snyggt.
Jag vill att om en adress hittas så ska den laddas annars ska en förbestämd komma.
Alltså:
If besökarens-url hittas Then
<img src="besökarens-url">
Else
<img src="no.gif">
End If
=)
Schysst!
H hanna Medlem sedan jan. 2002 62 inlägg Detta kanske kan göras på ett enklare sätt, men så här är det enda jag vet:
<%
Option Explicit
On error resume next
Dim Url
Dim VarBrokenUrl
Dim varObjXmlHttp
VarBrokenUrl = False
Url = "http://www.adress/bildnamn " 'AdressAttKolla
CheckUrl(Url) 'Kallar subben CheckUrl
if VarBrokenUrl = True then
'Felaktig url, byt ut bilden till en default
else
'Urlen är korrekt
end if
Sub CheckUrl(Url)
Set varObjXmlHttp = CreateObject("MSXML2.ServerXMLHTTP")
varObjXmlHttp.setTimeouts 0, 60000, 60000, 60000
varObjXmlHttp.onreadystatechange = GetRef("handleStateChange")
varObjXmlHttp.Open "HEAD", Url, false
varObjXmlHttp.Send
varObjXmlHttp.Abort
Set varObjXmlHttp = nothing
End Sub
Sub handleStateChange()
if varObjXmlHttp.readyState = 4 then
if varObjXmlHttp.status \<\> "200" then 'Adressen är felaktig
varBrokenUrl = True
end if
end if
End Sub
%>
S solbulle Medlem sedan mars 2001 5 287 inlägg Hm, verkar bra, men jag får det inte att fungera!?!
Något tips?
H hanna Medlem sedan jan. 2002 62 inlägg Vad får du för felmeddelande?
SilvioF Medlem sedan juni 2000 547 inlägg Om det bara gäller att byta ut en bild som kanske inte existerar mor en "default"-bild så kan du alltid köra med följande:
<img src="<%=?????%>" onerror="this.src='error.gif';">
H hanna Medlem sedan jan. 2002 62 inlägg Fungerar ej på windows 95/98 och man måste ha IE 5.01 eller senare.
SilvioF Medlem sedan juni 2000 547 inlägg Mjo, det kan nog stämma. :-/
H hanna Medlem sedan jan. 2002 62 inlägg Tillägg till mitt tidigare inlägg: Alltså serverXMLHttp
S solbulle Medlem sedan mars 2001 5 287 inlägg Hallå! Får inget felmeddelande men det kvittar om det finns en bild eller inte, så som jag förstår det "ser" inte scriptet att det är en 404-sida som laddas istället för bilden?
Får iofs inte SilvioFs variant att fungerar heller...
(Har IE6.0, win2000)
H hanna Medlem sedan jan. 2002 62 inlägg Hmm konstigt, jag testade scriptet innan och det fungerade...
skriv ut vilken url du försöker testa så skall jag ser vad som händer om jag kör den.
S solbulle Medlem sedan mars 2001 5 287 inlägg Testade tex. denna http://www.webforum.nu/images/wfstandard/menu_background.gif och det fungerade, men så testade jag med att sabba adressen lite, och det "fungerade" också, mao scriptet säger att bilden är ok!?!
http://www.webforum.nu/images/wfstandard/menu_background_fel.gif
H hanna Medlem sedan jan. 2002 62 inlägg Jag tror att jag har hittat var felet ligger: prova att skriva ut varObjXmlHttp.readyState, får du inte 1240 så får nog den if-satsen med varObjXmlHttp.readyState = 4 ändras.
Återkommer med vad den ska ändras till...
H hanna Medlem sedan jan. 2002 62 inlägg De url's som du testade fungerar inte korrekt eftersom om det blir fel här på forumet så blir det en redirect till webforums felsida och den sidan finns ju så därför tycker scriptet att allt är ok.
Detta vet jag ej hur man kan gå runt, men på vanliga fel så fungerar det, alltså på sidor som ej existerar.
S solbulle Medlem sedan mars 2001 5 287 inlägg Ok. Då fungerar det bra, men tyvärr blir det ju oftast en 404-sida eller dylikt som visas.
Ingen som vet hur man kommer runt det?