Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Détecter javascript activé ou pas (en php ?)

Ssylvainsab, le mardi 29 août 2006 à 23:34:22
Bonjour.

Sur mon site j'ai un script JavaScript inséré dans chaque page qui affiche un menu.
Comme ca ne fonctionne pas avec JS désactivé, j'aimerais mettre un menu en PHP avec
<?php iclude ('menu.html'); ?>

Le problème est que le code html contenu dans le fichier menu.html est chargé a chaque fois (donc affichage des pages moins rapides), alors qu'en JS on charge une fois le fichier et c'est bon.

Je voudrais donc savoir si il y a un moyen de détecter si Javascript est activé ou pas, de n'importe quelle facon (éventuellement en PHP).
Ensuite si c'est activé je mets le Javascript et si il est désactivé je mets le php include.

Ah oui, et les balises <noscript></noscript> ne me serviraient pas (a moins que l'on puisse bidouiller avec des commentaires ou autres le contenu des balises) car leur contenu est quand même chargé.

Merci pour votre aide. Sylvain
Répondre à Ssylvainsab  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
P@, le mercredi 30 août 2006 à 10:40:35
Une idée, mais c'est seulement une idée.

Tu pourrais créer et tester une variable ($js par exemple).
Si $js existe c'est que le javascript est actif chez le client si $js n'est pas rempli alors il faut envoyer menu.html.
Donc, au premier passage tu envoie le menu.html qui va tester si les js sont activer ou pas et remplir ou non la variable qui te permettra par la suite du coté php d'envoier ton menu en js ou en html ...

c'est une piste, non ?? ..:::P@ ... a tras, a PoOf ou a chou :::..
L'imagination est plus importante que la connaissance. Albert Einstein
Répondre à P@

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ssylvainsab, le mercredi 30 août 2006 à 16:29:54
Salut.

Merci pour ton aide, ca m'a donné une idée. Ca serait avec des sessions. Seulement je ne suis pas sur de savoir le code qu'il faut pour la réaliser, donc si on peut m'aider, merci. Voici cette idée :

Sur chaque page, j'affiche :
<noscript>Vous avez désactivé javascript. Si vous voulez quand même voir le menu, cliquez ici. Si vous ne voulez pas, cliquez ici. Si vous voulez voir le menu en Javascript (chargement plus rapide), réactivez JavaScript</noscript>


Si le visiteur clique sur le premier "ici" (pour voir le menu avec un include php), je crée une variable de session :
$_SESSION['menu'] = 'phpinclude';


Si le visiteur clique sur le deuxième "ici" (pour ne pas voir le menu), je crée la même variable mais avec une valeur différente :
$_SESSION['menu'] = 'pasdemenu';


Mais ensuite je ne sais pas comment faire pour créer la variable de session quand le visiteur clique sur le lien ( ca ne serait pas avec $GET ? mais je suis pas sur.)


En fait, le code html plus haut était affiché ou pas en fonction de ce code php
<?php
session_start();


if ( $_SESSION['menu'] = 'phpinclude')
	{
	include ('menu.php') //Donc la page php qui contient le code html du menu
	}
elseif ($_SESSION['menu'] = 'pasdemenu')
	{
	//Ah bein, la, il ne faut rien faire en fait. Donc je mets des accolades vides ?
	}
else //et la c'est si le visiteur a JS activé, ou que c'est la première page du site qu'il visite.
	{
	include ('menujs.php')/*je met la page qui contient le code html du menu en javascript (c'est a dire les balises <script...>)
	et les balises noscript au cas ou JS est désactivé*/
	}
?>



Voila, je pense que mon code ressemblerait a ca.

Mais il y a encore une chose que je ne sais pas faire, c'est comment créer la variable de session quand le visiteur clique sur un lien.

Alors, je fais comment ?
Et mon code a l'air bon ?

Merci pour votre aide. Sylvain
Répondre à Ssylvainsab

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ssylvainsab, le jeudi 31 août 2006 à 15:50:18
Bonjour.

Suite au même sujet dréé sur un autre forum (http://www.siteduzero.com/forum-83-70170-p1-detecter-si-jav­ascript-est-active-ou-...), j'ai eu plusieurs réponses qui m'on permi de progresser.

Mais maintenant, le script ne marche pas, une erreur s'affiche.
Pourtant mon code a l'air bon, qu'est ce qui pourrait mal fonctionner ?

Je ne vais pas mettre mon script ici, car c'est trop long. Pour le voir rendez vous sur le forum cité plus haut, c'est a dire http://www.siteduzero.com/forum-83-70170-p1-detecter-si-java­script-est-active-ou-...

Vous pouvez tester le script ici : http://sylvain.sab.free.fr/autres/

Est-ce que quelqu'un pourrait me dire d'ou vient le problème ?

Merci. Sylvain
Répondre à Ssylvainsab

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Ssylvainsab, le vendredi 1 septembre 2006 à 02:00:42
Maintenant c'est bon, mon script marche bien.

Cependant, PHP utilise des cookies pour identifier le visiteur.

Comment faire pour qu'il utilise les urls a la place ?
C'est a dire qu'il rajoute - par exemple - "?sessid=64dsf64g1d0d16fs6" a l'url pour indentifier, ce qui donnerait "index.php?sessid=64dsf64g1d0d16fs6". Sylvain
Répondre à Ssylvainsab
Tester code retour javascript en php (Résolu)Bonjour, je souhaiterais tester le code retour d'une fonction javascript en PHP ex: function test() { if ( window.document.getElementById('toto') == '' ) { return false; } else { return true; } } je souhaiterais donc... www.commentcamarche.net/forum/affich-7951352-tester-code-retour-javascript-en-php
[javascript][php] recherche liste multiple (Résolu)Bonjour à tous, j'aimerais savoir si quelqu'un pourrait m'aider à réaliser un code en javascript ou php qui permettrait de saisir les premières lettres d'un mot et que le curseur se positionne correctement sur une liste multiple.... www.commentcamarche.net/forum/affich-3164710-javascript-php-recherche-liste-multiple
[PHP] Détecter la résolution d'affichagePHP ne fournit pas de fonction permettant la détection de la résolution d'affichage car l'information concernant l'affichage du visiteur n'est pas fournie nativement par le protocole HTTP. Javascript par contre permet de détecter la résolution grâce... www.commentcamarche.net/faq/sujet-849-php-detecter-la-resolution-d-affichage
[Windows] Activer l'Ultra DMAL'Ultra DMA (http://www.commentcamarche.net/pc/ide-ata.php3#Ultra%20DMA), parfois noté UDMA, est un mode de fonctionnement permettant d'optimiser au maximum l'interface ATA (disques durs IDE). Par défaut il n'est pas nécessairement activé sous... www.commentcamarche.net/faq/sujet-873-windows-activer-l-ultra-dma
[VBA] Détection de modification de celluleIl y a, bien entendu, l'événement Change d'une feuille qui détecte le changement de la cellule active mais il ne donne pas de renseignement quant au contenu. Ces quelques lignes de code permettent de savoir si la cellule a été modifiée, fonctionne si... www.commentcamarche.net/faq/sujet-12394-vba-detection-de-modification-de-cellule
[Javascript~Ajax~GET] Probleme de caractère (Résolu)Bonjour, Je ne suis pas sur que le titre soit très explicite mais bon ^^ Alors, je suis entrain de faire un explorer en javascript / ajax / php qui sera normalement assez complet. Totalement compatible Firefox et qui "fonctionnera" sous internet... www.commentcamarche.net/forum/affich-3785758-javascript-ajax-get-probleme-de-caractere
Connexion oracle via php (Résolu)bonjour, j'ai installé le serveur oracle 9i. j'ai easyphp lancé et qui marche bien. quand je me connecte, ca me dit que php ne trouve pas ocilogon(). on m'a dit d'activer php.oci8.dll dans php.ini mais sans succes. faut-il que je... www.commentcamarche.net/forum/affich-1846563-connexion-oracle-via-php
Site javascript (Résolu)Bonjour, est ce que quelqu'un pourrait me donner l'adresse officiel du site javascript. comme php a son site officiel "http://fr.php.net/". pour pouvoir retrouver toutes les fonction de javascript merci d'avance www.commentcamarche.net/forum/affich-4865825-site-javascript
Javascript - Les fonctions On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction dans les langages autres... www.commentcamarche.net/javascript/jsfonc.php3
PHP - Introduction PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La syntaxe du langage provient... www.commentcamarche.net/php/phpintro.php3
Toutes les réponses pour « Détecter javascript activé ou pas (en php ?) »