Testen of een link werkt door javascript in een <a href> te plaatsen

Status
Niet open voor verdere reacties.

pvandijk

Nieuwe gebruiker
Lid geworden
22 jan 2009
Berichten
2
Beste allemaal,

Ik heb nog niet zoveel ervaring met Javascript en loop nu dus ergens tegenaan.

Voor een website heb ik een link naar een bepaald bestand op een fileserver. Als deze link niet werkt (doordat iemand bijvoorbeeld geen leesrechten heeft tot die fileserver), wil ik dat deze link geredirect wordt naar een andere link die ik zelf opgeef.

Dit heb ik bijvoorbeeld in html staan:

<a href="http://adres1naarfileserver/map1/bestand.xls">link</a>

Zodra er geklikt wordt op de link, zou een javascript aangeroepen moeten worden dat eerst checkt of de link werkt, indien de link niet werkt moet hij de link vervangen door "http://adres2naarfileserver/map2/bestand.xls".

Weet iemand of dat mogelijk is en zo ja kan iemand me a.u.b. op gang helpen?

Bij voorbaat dank
Patrick
 
Dan zou je twee keer een http request moeten maken. Eén keer om te controleren of het kan en één keer om het bestand echt te downloaden.

Niet echt aan te raden, maar goed, dan kun je met Ajax een HEAD request maken. Deze geeft alleen de HTTP headers terug die je ook zou krijgen bij een GET request. Dan weet je dus of het zou werken. Als alles goed is krijg je een status code 200 terug. Het verlengt wel de laad-tijd van bestanden indien ze wel gewoon gedownload kunnen worden. Maar als je het echt wilt zul je met Ajax moeten werken. Ajax is eigenlijk gewoon een Javascript object.

Als je het gaat gebruiken is het belangrijk dat je ongeveer weet hoe HTTP requests en responses in elkaar zitten. Heb je ooit al met Ajax gewerkt?
 
Beste Glest,

Ten eerste sorry voor mijn MEGA later reactie. :o
Heb je 1e advies te rade genomen, dwz dat het niet aan te raden was vanwege de dubbel benodigde tijd.

Heb inmiddels een andere methode gevonden, waarbij ik niet hoefde te programmeren.

Toch bedankt voor je reactie en nogmaals sorry voor mijn later reactie.

Vr. groet,
Patrick
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan