Détecter javascript
Résolu/Fermé
A voir également:
- Détecter javascript
- Comment détecter un traceur sur téléphone - Accueil - Confidentialité
- Telecharger javascript - Télécharger - Langages
- Détecter clé usb - Guide
- Javascript est activé mais ne fonctionne pas ✓ - Forum Réseaux sociaux
- Node.js javascript runtime virus ✓ - Forum Virus
4 réponses
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
29 nov. 2007 à 00:37
29 nov. 2007 à 00:37
Attention !
Ne pas confondre Java avec JavaScript, c'est une erreur courante. En effet navigator.javaEnabled() peut vérifier la disponibilité Java (c'est à dire la capacité de pouvoir lancer une applet) et non JavaScript.
Si l'utilisateur n'a pas JavaScript activé il est impossible de le savoir via JavaScript, ce qui est logique. Néanmoins en HTML il existe la balise <noscript></noscript> non reconnue par les navigateurs ne possédant pas JavaScript activé. Qui dit balise non reconnue veut dire balise ignorée et texte compris entre ces balises affiché "tout simplement". En gros donc l'idée c'est de mettre
Autre chose, si ton intention est de vérifier un login/mot de passe via JavaScript, saches que tu te plantes d'avance. JavaScript doit être vu comme un plus, on ne sait pas l'utiliser pour restreindre l'accès à une page. Exécuté côté client, tout ce qui peut être accédé avec JavaScript peut l'être sans (avec moins de facilités mais accédé quand même).
Le seul moyen de fournir un accès login/mot de passe est d'utiliser les outils serveur appropriés (restrictions serveur -par exemple htaccess Apache- , couple langage se script/base de données -par exemple PHP/MySql-, ...) mais c'est un autre domaine.
Ne pas confondre Java avec JavaScript, c'est une erreur courante. En effet navigator.javaEnabled() peut vérifier la disponibilité Java (c'est à dire la capacité de pouvoir lancer une applet) et non JavaScript.
Si l'utilisateur n'a pas JavaScript activé il est impossible de le savoir via JavaScript, ce qui est logique. Néanmoins en HTML il existe la balise <noscript></noscript> non reconnue par les navigateurs ne possédant pas JavaScript activé. Qui dit balise non reconnue veut dire balise ignorée et texte compris entre ces balises affiché "tout simplement". En gros donc l'idée c'est de mettre
<noscript>Désolé vous devez avoir JavaScript activé pour accéder à cette page</noscript>et pour le reste de générer la page exclusivement en JavaScript à coups de
document.write("<p>bla bla vous pouvez accéder à...</p>");
Autre chose, si ton intention est de vérifier un login/mot de passe via JavaScript, saches que tu te plantes d'avance. JavaScript doit être vu comme un plus, on ne sait pas l'utiliser pour restreindre l'accès à une page. Exécuté côté client, tout ce qui peut être accédé avec JavaScript peut l'être sans (avec moins de facilités mais accédé quand même).
Le seul moyen de fournir un accès login/mot de passe est d'utiliser les outils serveur appropriés (restrictions serveur -par exemple htaccess Apache- , couple langage se script/base de données -par exemple PHP/MySql-, ...) mais c'est un autre domaine.
Bonjour.
J'ai pensé à une solution qui pourrais fonctionner:
Si le code arrive à s'exécuter $javascript prend la valeur de retour et sinon elle est égale à une chaine vide.
J'obtiens bien "javascript : 1" quand il est activé et "javascript : " quand il ne l'est pas mais à la comparaison ça me retourne toujours false...
J'ai pensé à une solution qui pourrais fonctionner:
Si le code arrive à s'exécuter $javascript prend la valeur de retour et sinon elle est égale à une chaine vide.
<?php $javascript = "<script type=\"text/javascript\"> <!-- document.write('1'); --> </script>"; echo "javascript : ".$javascript."<br>"; if($javascript == "1") { echo "true"; $JS = true; } else { echo "false"; $JS = false; } ?>
J'obtiens bien "javascript : 1" quand il est activé et "javascript : " quand il ne l'est pas mais à la comparaison ça me retourne toujours false...
C'est bon j'ai trouvé comment faire, pour ceux que ça intéresse ;)
Si les gens active le javascript entre temps, la modification est prise en compte
ça fonctionne super bien :)
Si les gens active le javascript entre temps, la modification est prise en compte
<?php session_start(); if(!isset($_SESSION['js'])) $_SESSION['js'] = true; if(isset($_GET['js'])) { if($_GET['js'] == "no" ) $_SESSION['js'] = false; else if($_GET['js'] == "yes") $_SESSION['js'] = true; } // si javascript est activé le <noscript> ne sera pas prise en compte if($_SESSION['js']) { // dans le cas contraire on recharge la page avec le parametre js=no echo '<noscript> <meta http-equiv="Refresh" content="0; URL=index.php?js=no"> </noscript>'; } // s'il est pas activé le <script> ne sera pas prise en compte else { // dans le cas contraire on recharge la page avec le parametre js=yes echo '<script language="JavaScript" type="text/javascript"> document.location.href="index.php?js=yes"; </script>'; } ?>
ça fonctionne super bien :)
Salut
L'objet navigator de java est justement fait pour cela.
navigator peut etre très pratique pour connaitre des informations concernant le navigateur des visiteurs, leur système d'explotation, l'activation ou non des cookies...
;) enjoy
L'objet navigator de java est justement fait pour cela.
navigator.javaEnabled()te retournera TRUE si java est activé sur le poste du visiteur et FALSE sinon
navigator peut etre très pratique pour connaitre des informations concernant le navigateur des visiteurs, leur système d'explotation, l'activation ou non des cookies...
;) enjoy
Je me suis pris d'une autre manière mais grâce à ta réponse, j'ai pu allumer sur comment m 'y prendre.
J'ai tout simplement créer une page no_javascript qui appelle un script javascript de redirection vers ma page.
Donc si la personne n'a pas javascript activer, la redirection ne se fait pas donc affichage de la balise <noscript>
Merci à toi !
J'ai tout simplement créer une page no_javascript qui appelle un script javascript de redirection vers ma page.
Donc si la personne n'a pas javascript activer, la redirection ne se fait pas donc affichage de la balise <noscript>
Merci à toi !
5 mars 2017 à 15:25