Est-il possible de vérifier si JavaScript est activé avec PHP? Si c'est le cas, comment?
Réponses
Trop de publicités?Non, ce n'est pas possible, car PHP est un langage côté serveur, il n'accède en aucune manière au navigateur du client (les demandes du client émanant du serveur PHP).
Le client peut fournir des méta-informations via des en-têtes HTTP, mais il ne vous dit pas nécessairement si l'utilisateur a JavaScript activé ou non et vous ne pouvez pas vous en remettre à eux de toute façon,
Techniquement non car, comme l'ont dit d'autres réponses, PHP est strictement côté serveur, mais vous pouvez le faire ...
Dans la page PHP sur le serveur, la sortie (beaucoup de HTML a été supprimé pour des raisons de brièveté)
<html>
<head>
<script type="text/javascript" src="jquery1.4.4.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.get("myPage.php");
});
</script>
</head>
</html>
Puis, dans myPage.php
définissez une variable de session pour indiquer que le client prend en charge JS.
<?php
session_start();
$_SESSION['js'] = true;
?>
Mais vraiment, utilisez simplement les balises <script></script><noscript></noscript>
, beaucoup moins d'effort ...
// Voici une solution: // ça marche parfaitement
<?php
if(!isset($_SESSION['js'])||$_SESSION['js']==""){
echo "<noscript><meta http-equiv='refresh' content='0;url=/get-javascript-status.php&js=0'> </noscript>";
$js = true;
}elseif(isset($_SESSION['js'])&& $_SESSION['js']=="0"){
$js = false;
$_SESSION['js']="";
}elseif(isset($_SESSION['js'])&& $_SESSION['js']=="1"){
$js = true;
$_SESSION['js']="";
}
if ($js) {
echo 'Javascript is enabled';
} else {
echo 'Javascript is disabled';
}
?>
// Et ensuite dans get-javascript-status.php:
$_SESSION['js'] = isset($_GET['js'])&&$_GET['js']=="0" ? "0":"1";
header('location: /');
Vous ne pouvez pas dire si un navigateur a JS activé, mais vous pouvez dire si le navigateur prend en charge JS http://php.net/manual/en/function.get-browser.php
$js_capable = get_browser(null, true)=>javascript == 1
Cela dit, ce n'est probablement pas d'une grande utilité. Vous devriez reconsidérer la détection de JS à partir de PHP. Il devrait y avoir aucun besoin si vous utilisez d'amélioration progressive, ce qui signifie que JS seulement ajoute de la fonctionnalité de ce qui est déjà sur la page.