Ga naar inhoud

controleren of een url werkt (javascript)


anoniem

Aanbevolen berichten

is het mogelijk om met javascript te controleren of een bepaalde url bestaat? als de url bestaat zou het script hem moeten openen, bestaat ie niet zou ie automatisch naar een andere toe moeten. Ik heb al op verschillende plaatsen gekeken, maar het enige wat ik vond was een scriptje om te kijken of een bepaald plaatje bestaat en ik heb niet echt een idee hoe ik die evt. kan ombouwen. kan iemand mij helpen? [b:3e9e2d87a7]ok, het hierboven beschreven probleem is al opgelost, maar die oplossing zorgde weer voor een ander (klein) probleempje. [url=http://forum.computertotaal.nl/phpBB2/viewtopic.php?p=916815#916815]zie hier[/url].[/b:3e9e2d87a7]
Link naar reactie
[code:1:477cbc29eb] <html> <head> <title>Test XMLHttpRequest</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <script type="text/javascript"> var xmlhttp=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. // and security blocked creation of the objects. try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @end @*/ if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } if (xmlhttp) { document.write('<p class="example"><a href="#" onclick="example(\'http://www.google.nl\');return false;">Goed</a>, <a href="#" onclick="example(\'/http://www.ik.besta.niet-echt.hoor\');return false;">Fout</a> </p>') } function example(url) { xmlhttp.open("HEAD", url,true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { if (xmlhttp.status==200) { alert("Dit is een goed goede link"); location.href=url; } else { alert("Foute link de status is "+xmlhttp.status); location.href="http://forum.computertotaal.nl/phpBB/viewtopic.php?t=137256"; } } } xmlhttp.send(null) } </script> </body> </html> [/code:1:477cbc29eb] Damn i'm good :)
Link naar reactie
dankjewel :) heb er alleen wel een probleem mee, ik begrijp hem namelijk niet helemaal en hij werkt niet in firefox. wat ik precies wil bereiken is het volgende: ik heb een pagina met een inline frame. In dit frame wordt afhankelijk van het jaar en de week een bepaalde url geladen. Iedere week veranderd deze url. Nu kan het voorkomen dat die url nog niet bestaat. Het script zou in dat geval moeten doorlinken naar de pagina van vorige week. De vraag is nu dus alleen: hoe kan ik dat voor elkaar krijgen? dit is de code die ik tot nu gebruik: [code:1:a0a4ada27c]<!-- dit script bepaalt het weeknummer + jaartal --> function weekNo() { var totalDays = 0; now = new Date(); years=now.getFullYear(); var days = new Array(12); // Array to hold the total days in a month days[0] = 31; days[1] = 29; days[2] = 30; days[3] = 30; days[4] = 31; days[5] = 30; days[6] = 31; days[7] = 31; days[8] = 30; days[9] = 31; days[10] = 30; days[11] = 31; // Check to see if this is a leap year if (Math.round(now.getYear()/4) == now.getYear()/4) { days[1] = 29 }else{ days[1] = 28 } // If this is January no need for any fancy calculation otherwise figure out the // total number of days to date and then determine what week if (now.getMonth() == 0) { totalDays = totalDays + now.getDate(); }else{ var curMonth = now.getMonth(); for (var count = 1; count <= curMonth; count++) { totalDays = totalDays + days[count + 1]; } totalDays = totalDays + now.getDate(); } // Here is the modification: considering when start the 1st week of year. // Originally was only: var week = Math.round(totalDays/7) // Check if browser is "Microsoft Internet Explorer" or not and apply the right var var agt=navigator.userAgent.toLowerCase(); if ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) { var firstday=new Date("01/01/"+String(now.getYear())).getDay(); } else { var firstday=new Date("01/01/"+String(1900+now.getYear())).getDay(); } var diff=7; var week = Math.round((totalDays+diff)/7); return week; } // --> <!-- script schrijft iframe met pagina van huidige week --> document.write('<iframe src="' +years+ '/week' +weekNo()+'.htm"' + ' name="hitlist"' + ' frameborder="1"' + ' width="425"' + ' height="313">' + '</iframe>')[/code:1:a0a4ada27c]
Link naar reactie
ok mensen ik heb inmiddels een oplossing gevonden. Ik gebruik nu een code die bij het laden van de pagina de bezoeker automatisch doorstuurt naar de juiste url. [code:1:cf1d4d89dd]<body onLoad="document.location.href=urla()" onError="document.location.href=url2()">[/code:1:cf1d4d89dd] dit betekent dus dat als de pagina geopend wordt je automatisch word doorgestuurd naar 'urla'. Bestaat 'urla' niet, dan opent ie automatisch 'url2'. nu is er alleen nog 1 probleempje... In mozilla geeft ie zo'n waarschuwingsschermpje met ok-knop die meldt dat de pagina niet is gevonden, als de browser 'urla' niet kan vinden. Is er een manier om die uit te schakelen?
Link naar reactie
thanks, maar waar moet ik dat regeltje precies neerzetten? edit: ben er al achter 8) heb dit scriptje in de body geplaatst, en het werkte. [code:1:d0ba393af2]<script language="javascript" type="text/javascript"> document.write(xmlhttp = new XMLHttpRequest();) </script>[/code:1:d0ba393af2] bedankt voor het meedenken allemaal :)
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...