webForumDet fria alternativet

Kolla om url hittas?

ASP

14 svar · 439 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#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!

Medlem sedan jan. 200262 inlägg
#2

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
%>

Medlem sedan mars 20015 287 inlägg
#3

Hm, verkar bra, men jag får det inte att fungera!?!
Något tips?

Medlem sedan jan. 200262 inlägg
#4

Vad får du för felmeddelande?

Medlem sedan juni 2000547 inlägg
#5

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';">
Medlem sedan jan. 200262 inlägg
#6

Fungerar ej på windows 95/98 och man måste ha IE 5.01 eller senare.

Medlem sedan juni 2000547 inlägg
#7

Mjo, det kan nog stämma. :-/

Medlem sedan jan. 200262 inlägg
#8

Tillägg till mitt tidigare inlägg: Alltså serverXMLHttp

Medlem sedan mars 20015 287 inlägg
#9

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)

Medlem sedan jan. 200262 inlägg
#10

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.

Medlem sedan mars 20015 287 inlägg
#11

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

Medlem sedan jan. 200262 inlägg
#12

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...

Medlem sedan mars 20015 287 inlägg
#13

Den skriver ut 0.

Medlem sedan jan. 200262 inlägg
#14

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.

Medlem sedan mars 20015 287 inlägg
#15

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?

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)