Vérifier une URL en javascript
Fermé
misterclic66
-
5 mai 2009 à 09:29
hugs-giver Messages postés 88 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 10 juin 2014 - 23 déc. 2009 à 00:31
hugs-giver Messages postés 88 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 10 juin 2014 - 23 déc. 2009 à 00:31
A voir également:
- Vérifier une URL en javascript
- Verifier url - Guide
- Lien url - Guide
- Telecharger javascript - Télécharger - Langages
- Iptv url invalide - Forum Box et Streaming vidéo
- Atlas pro url serveur invalide - Forum TV & Vidéo
3 réponses
hugs-giver
Messages postés
88
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
10 juin 2014
30
23 déc. 2009 à 00:31
23 déc. 2009 à 00:31
Salut, vue que je n'est trouvé la réponse nulle part, g creusé ma tête, et g trouver un truc, c ptetre un peut plus lourd que du javascript pure, mais moi j'en ai besoin car mon formulaire est long à remplire, et jveut pas que le mec soit obligé de tout recommencer en cas d'erreur!
Bon pour ceux que sa intéresse (à modifier selon besoin) :
Le principe, c'est que quand tu clic sur valider, un premier script javascript ouvre la page "testeuri.php?url=tonurl" qui va tester l'url et renvoyer une réponse dans la page d'origine, ensuite, un autre script va analyser cette réponse et afficher si le site est ou non valide le tout sans recharger la page!!
Vue que le teste est en php on peut très bien tester d'autre chose comme par exemple les entête http pour savoir si la page exsiste, et si justement c'est une page web, ou non!
Tout deviens plus simple en php, surtout si on à pas besoin de recharger la page!!
Biensur, il faudra reverifier par la suite avec un vrai code php!!
Donc le code,
Dans la page ou il y a le formulaire on met ce code :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Teste url</title>
<script type="text/javascript">
function tester()
{
if(document.getElementById("url").value != '')
{
var url = document.getElementById("url").value;
var frame = '<iframe src=\"testeuri.php?url='+url+'\" height=\"0\" width=\"0\" scrolling=\"no\" frameborder=\"0\"></iframe>';
document.getElementById("teste").innerHTML = frame;
}
else
{
alert('erreur, champ vide');
}
}
function testeurl(nb, url)
{
if(nb == 0)
{
alert('ok\nl\'url "'+url+'" est valide');
}
if(nb == 1)
{
alert('l\'url "'+url+'" est invalide');
}
if(nb == 2)
{
alert('le Champ est vide vide!!');
}
}
</script>
</head>
<body>
<input id="url" name="url" value="http://">
<a href="javascript:;" OnClick="tester()">Tester</a><br>
<span id="teste"></span>
</body>
</html>
Ensuite, il faut créer une page nomé testeuri.php :
<?php
if(isset($_GET['url']))
{
$url = htmlspecialchars($_GET['url']);
if(filter_var("$url", FILTER_VALIDATE_URL))
{
$nb = 0;//ok
}
else
{
$nb = 1;//pas ok
}
if($url == "http://")
{
$nb = 2;//vide
}
}
else
{
$nb = 2;//vide
}
//on appel la fonction :
echo <<<END
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>tr</title>
</head>
<body OnLoad="window.top.testeurl('$nb', '$url')">
<br>
</body>
</html>
END;
?>
Bon pour ceux que sa intéresse (à modifier selon besoin) :
Le principe, c'est que quand tu clic sur valider, un premier script javascript ouvre la page "testeuri.php?url=tonurl" qui va tester l'url et renvoyer une réponse dans la page d'origine, ensuite, un autre script va analyser cette réponse et afficher si le site est ou non valide le tout sans recharger la page!!
Vue que le teste est en php on peut très bien tester d'autre chose comme par exemple les entête http pour savoir si la page exsiste, et si justement c'est une page web, ou non!
Tout deviens plus simple en php, surtout si on à pas besoin de recharger la page!!
Biensur, il faudra reverifier par la suite avec un vrai code php!!
Donc le code,
Dans la page ou il y a le formulaire on met ce code :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Teste url</title>
<script type="text/javascript">
function tester()
{
if(document.getElementById("url").value != '')
{
var url = document.getElementById("url").value;
var frame = '<iframe src=\"testeuri.php?url='+url+'\" height=\"0\" width=\"0\" scrolling=\"no\" frameborder=\"0\"></iframe>';
document.getElementById("teste").innerHTML = frame;
}
else
{
alert('erreur, champ vide');
}
}
function testeurl(nb, url)
{
if(nb == 0)
{
alert('ok\nl\'url "'+url+'" est valide');
}
if(nb == 1)
{
alert('l\'url "'+url+'" est invalide');
}
if(nb == 2)
{
alert('le Champ est vide vide!!');
}
}
</script>
</head>
<body>
<input id="url" name="url" value="http://">
<a href="javascript:;" OnClick="tester()">Tester</a><br>
<span id="teste"></span>
</body>
</html>
Ensuite, il faut créer une page nomé testeuri.php :
<?php
if(isset($_GET['url']))
{
$url = htmlspecialchars($_GET['url']);
if(filter_var("$url", FILTER_VALIDATE_URL))
{
$nb = 0;//ok
}
else
{
$nb = 1;//pas ok
}
if($url == "http://")
{
$nb = 2;//vide
}
}
else
{
$nb = 2;//vide
}
//on appel la fonction :
echo <<<END
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>tr</title>
</head>
<body OnLoad="window.top.testeurl('$nb', '$url')">
<br>
</body>
</html>
END;
?>
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
5 mai 2009 à 11:10
5 mai 2009 à 11:10
Je pense que le mieux c'est de dégrossir avec les formats d'images connus parce qu'à part ça...
Je réfléchissais à une possibilité autre comme vérifier le contenu de la page à l'arrivée pour voir s'il 'y a qu'une image, mais ça me semble pire voire peut-être impossible (non c'est pas impossible en fait mais pénible certainement). Au moins vérifier s'il y a du texte, car si l'url a seulement une image ça ira.
Par contre je ne sais pas exactement comment faire.
EDIT : un exemple :
http://www.commentcamarche.net/forum/affich 2098793 javascript lire contenu page web
Je réfléchissais à une possibilité autre comme vérifier le contenu de la page à l'arrivée pour voir s'il 'y a qu'une image, mais ça me semble pire voire peut-être impossible (non c'est pas impossible en fait mais pénible certainement). Au moins vérifier s'il y a du texte, car si l'url a seulement une image ça ira.
Par contre je ne sais pas exactement comment faire.
EDIT : un exemple :
http://www.commentcamarche.net/forum/affich 2098793 javascript lire contenu page web
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
5 mai 2009 à 10:53
5 mai 2009 à 10:53
Bonjour,
Soit exclure les .jpg, png, gif etc... ça fait une sacrée liste
Soit inclure que les terminaisons de pages web mais ça fait une sacrée liste aussi :s
Soit exclure les .jpg, png, gif etc... ça fait une sacrée liste
Soit inclure que les terminaisons de pages web mais ça fait une sacrée liste aussi :s