Bonjour,
Je voudrais savoir s'il est possible de tester la validité d'une URL en javascript.
Quand l'utilisateur entre une url dans un champs, il aurait la possibilité d'appuyer sur un bouton pour tester si le lien existe.
Merci d'avance !
Bonjour,
Je voudrais savoir s'il est possible de tester la validité d'une URL en javascript.
Quand l'utilisateur entre une url dans un champs, il aurait la possibilité d'appuyer sur un bouton pour tester si le lien existe.
Merci d'avance !
Dernière modification par Invité ; 13/03/2008 à 15h24.
eventuellement lancer un ajax et tester le readystatus ou le responsetext ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
J'aurais peut être du ajouter que je suis un méga débutant PHP...
[edit]
hum hum.... méga débutant javascript.... hum hum.... je sais pas ce que j'ai aujourd'hui...
Dernière modification par Invité ; 13/03/2008 à 14h38.
ça tombe bien c'est du javascript ^^
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Je crois pas que tu puisses appeler une url autre que sur ton site en Ajax
je crois qu'il est pas possible de lancer une requête ajax sur un autre serveur.
Mais indirectement, tu peux créer un script php qui vérifie la validité de l'url et lancer la requête ajax sur ce script.
[edit]oups le temps que j'écrive DoubleU l'a déjà dit[/edit]
11001.00101.10010.10000.00111
Vous pourriez me donner le lien vers un tuto pour lancer une requête ajax ? Je dois avouer que c'est un peu du chinois pour moi...
google + "ajax tuto siddh developpez"
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Ok merci. Je m'en vais essayer tout ça.
Voici un proxy php pour "router" ta requête XHR (class_http.php + proxy.php) en mode cross domain
et voici le code JS :Edit : ajoute xhr.abort(); dans le if(xhr.status==404){} c'est plus propre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try{xhr = new ActiveXObject("Msxml2.XMLHTTP");} catch(e){try{xhr = new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}} }else{ // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHttpRequest..."); xhr = false; } return xhr; } function testURL(url){ var xhr=getXhr(); xhr.open("GET", 'proxy.php?url='url, true); xhr.onreadystatechange = function(){ if(xhr.status==404){ //404 Error alert(url+' is down'); } } xhr.send(data); }![]()
Le format d'une URL est assez simple et standardisé :
PROTOCOLE://USER:PASSWORD@HOSTNAME:PORT/RESOURCE
PROTOCOLE peut être n'importe quel protocole : http, https, ftp, ftps, irc, etc. Il doit cependant être connu du client et du serveur.
HOSTNAME est le nom du serveur vers lequel pointer (ex: www.google.com).
PORT est le port du serveur auquel l'application doit se connecter (ex: 80, 23, 165, ...)
RESOURCE est le lien vers la ressource du serveur.
USER est utilisé en cas de besoin d'identification.
PASSWORD est utilisé en cas de besoin d'identification.
Deux éléments sont réellement obligatoire dedans : PROTOCOLE (pour dire comment on parle) et HOSTNAME (pour dire à qui on parle). Le reste est assez facultatif, donc.
Typiquement, une URL peut être résolue par la regex suivante :
Pourquoi utiliser le serveur quand le client a déjà tout ce qu'il faut ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var protocole = "[a-z]+"; var user = "[a-zA-Z0-9_-]+"; var password = "[a-zA-Z0-9_-]+"; var hostname = "[a-z0-9-\.]+"; var port = "[0-9]+"; var resource = ".*"; var regex = new Regex(protocole + "://("+user+"(:"+password+")?@)?" + hostname + "(:"+port+")?" + "(/"+resource+")?"); alert(regex.test(monUrl));![]()
Pas quand je lis le premier message... Alors désolé si ce n'était pas clair dès le début![]()
pour le coup là c'est du français et ça m'avait l'air tout à fait clair ...
extrait du premier post :
Avant quand l'utilisateur entre une url dans un champs, il aurait la possibilité d'appuyer sur un bouton pour tester si le lien existe.
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Quoiqu'il en soit, si l'utilisateur entre un mauvais format d'url (ce qui arrive assez souvent si j'en crois mes logs), autant faire la vérification déjà au niveau du client, avant d'aller ennuyer le serveur avec des requêtes inutiles
Et puis, si on parle de français clair et correct, la première phrase (qui est la seule que j'ai lue, je l'accorde) ne contenait pas un résumé clair et concis du problème, puisque celui-ci continuait dans le paragraphe suivant.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager