dimi3 Posté 14 Janvier 2011 Posté 14 Janvier 2011 Bonjour, J'ai 3 répertoires à la racine de mon site que j'appelle "menu", "repertoire1" et "repertoire2". Chaque fichier dans les répertoires , "repertoire1" et "repertoire2" affiche un menu qui permet d'ouvrir les fichiers de son propre répertoire et de l'autre répertoire. Ce menu appartient à son propre répertoire appelé "menu". Tous les fichiers du site l'appellent pour affichage en sommet de page par un <script language="javascript" src="http://monAdresseSite/menu/menu.js". Pour ouvrir un fichier de l'autre répertoire j'ai fait les liens suivants : - dans le répertoire1 : <a href="../repertoire2/fichier.php"> -dans le répertoire2 : <a href="../repertoire1/fichier.php"> Ca ne fonctionne pas. Cela vient-il du fait que le menu appelé appartient à son propre répertoire ? je vous remercie.
Ernestine Posté 14 Janvier 2011 Posté 14 Janvier 2011 Salut, Je ne comprends pas bien : que contient précisément le fichier menu.js ?
dimi3 Posté 14 Janvier 2011 Auteur Posté 14 Janvier 2011 merci de votre attention. le fichier contient le menu, c'est à dire les fonctions javascript d'affichage (déroulement des sous-menus etc.) et les liens.
Ernestine Posté 14 Janvier 2011 Posté 14 Janvier 2011 C'est justement cela que je ne comprends pas bien : le fait que le fichier javascript contienne les liens. Normalement, on met les liens "en dur" dans un fichier html ou php. Et eventuellement, dans le cas d'un menu dynamique, on inclut un fichier javascript qui va "dynamiser" le menu. Mais à la base, les liens doivent être écrits en html dans le DOM. Par exemple : en haut à droite de la page du forum, on a un menu déroulant sous notre pseudo. Si tu analyses la page tu verras que les liens sont écrits en dur, et que le javascript vient juste par dessus pour donner l'effet menu déroulant. Bref, tu te compliquerais moins la vie à faire ton menu dans un fichier php (avec éventuellement un js aussi) puis faire un simple include dans tes fichiers des répertoires 1 et 2
Dadou Posté 14 Janvier 2011 Posté 14 Janvier 2011 En plus les liens relatifs fonctionnent très mal en JS
dimi3 Posté 14 Janvier 2011 Auteur Posté 14 Janvier 2011 Voilà donc le pourquoi du comment. J'ai tout refait en php et tout va bien. Merci pour vos bons conseils et votre efficacité.
dimi3 Posté 16 Janvier 2011 Auteur Posté 16 Janvier 2011 Bonsoir, quelle différence entre les liens suivants : avec 1 point : ./repertoire/fichier.ext avec 2 points : ../repertoire/fichier.ext Merci à vous
Ernestine Posté 16 Janvier 2011 Posté 16 Janvier 2011 Salut, Un point = répertoire courant Deux points = le répertoire parent En gros, quand tu fais un lien vers ../ tu montes dans le dossier au-dessus. Et faire un lien vers ./truc.html est équivalent à faire un lien vers truc.html S'il s'agit de fichiers inclus en php ou en javascript, le résultat peut-être différent, car du coup, le dossier à prendre en compte n'est pas celui dans lequel se trouve le fichier, mais celui à partir duquel est appelé le fichier (ou plus précisément l'emplacement du fichier de base dans le cas d'inclusions en chaîne).
Tizel Posté 16 Janvier 2011 Posté 16 Janvier 2011 Le plus simple serait peut être d'écrire tous tes liens en absolu par rapport à la racine du site : "/repertoire/index.html" Tu peux aussi creuser du côté de la balise <base> (à inclure dans l'en-tête de la page) qui est bien pratique parfois : http://www.startyourdev.com/HTML/Balise-BASE.html
Dudu Posté 17 Janvier 2011 Posté 17 Janvier 2011 Salut D'ailleurs -http://www.webmaster-hub.com/publication/../ (avec deux points) te ramènera vers la racine du site, fais l'essai Et ça marche avec plusieurs ../../ d'affilée : -http://www.webmaster-hub.com/publication/machin/../../ (avec deux fois deux points)
Dan Posté 18 Janvier 2011 Posté 18 Janvier 2011 D'ailleurs -http://www.webmaster-hub.com/publication/../ (avec deux points) te ramènera vers la racine du site, fais l'essai Et ça marche avec plusieurs ../../ d'affilée : -http://www.webmaster-hub.com/publication/machin/../../ (avec deux fois deux points) C'est aussi dans ce cas avec une entête 404 parce que la page n'est pas trouvée Il est logique dans ce cas que cela redirige à la racine vu que le serveur est paramétré ainsi.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant