Je vous propose une fonction qui permet de détecter le JavaScript :
<?php
function etat_du_javascript()
{
$page = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
$file = @fopen($page, 'r');
if($file)
{
$page = basename($_SERVER["SCRIPT_NAME"]);
}
else
{
$page = basename($_SERVER["PHP_SELF"]);
}
if (isset($_GET["js"]))
{
$js = $_GET["js"];
if($js == "no")
{
echo '<script type="text/javascript">window.setTimeout("location=(\''.$page.'?js=yes\');",0)</script>';
$etat = 'desactive';
}
elseif($js == "yes")
{
echo '<noscript><meta http-equiv="refresh" content="0;url=./'.$page.'?js=no"/></noscript>';
$etat = 'active';
}
else
{
echo '<noscript><meta http-equiv="refresh" content="0;url=./'.$page.'?js=no"/></noscript>';
$etat = 'active';
}
}
else
{
echo '<noscript><meta http-equiv="refresh" content="0;url=./'.$page.'?js=no"/></noscript>';
$etat = 'active';
}
return $etat;
}
echo etat_du_javascript();
?>
La fonction retourne " active " ou " desactive ", mais on peut utiliser " 1 " ou " 0 ", ou encore " true " ou " false "...Mais c'est à perfectionner... Cette fonction utilise l'actualisation... Donc si on est sur une page qui affiche du Java Script mais que cette page réceptionne un champs de formulaire POST ou GET, bah il seront pas réceptionné bien comme il faut...
- Il faudrait faire un FOR ou un WHILE pour réceptionner tout les POST et GET (peut importe le nom, et la longueur du nom., pour ça on peut utiliser une REGEX) puis par la suite les ré-émettre...
- Il faudrait aussi détecter si il y a déjà une redirection dans la page pour éviter de généré une erreur...
Si ça fonctionne ça pourrait devenir une fonction officiel non ?