Obtenir le lien d'un onglet avec #

gaston gaston
1 397 contributions
Membre depuis le 01/03/2001
Envoyé le 13/09/2017 à 12:23


Bonjour,

je travaille avec bootstrap, ça me fait gagner du temps

J'ai cette page avec un menu à onglets, qui fonctionne bien:
http://lesamisducamgran.free.fr/informatique.php

quand je suis sur ma page, si je clique sur Mail, cela fait apparaître le div dont l'id est désigné par le lien: http://lesamisducamgran.free.fr/informatique.php#mails

mais (car il y a un mais) il y a un truc qui m'ennuie si, dans mon navigateur, je saisis l'url en question, le navigateur ne tient pas compte de #mails, or j'aimerai qu'il en tienne compte, et je ne sais comment faire

Comment remédier à cela ?
carpe diem

Répondre à ce message

HETEROCLIC HETEROCLIC
534 contributions
Membre depuis le 01/09/2013
Envoyé le 13/09/2017 à 17:57


Bonjour,

C'est parce que le #mail pointe vers le titre et non vers le contenu je pense.

Cdt
La poésie est une arme chargée de futur..
Claude40 Claude40
1 195 contributions
Membre depuis le 24/03/2010
Envoyé le 14/09/2017 à 11:06 Modifié par Claude40


Bonjour,
Pour abonder dans le sens de ce que dit HETEROCLIC, j'ai trouvé des exemples sur le Web ou le Hastag pointe correctement, mais sur une section de la page et non sur la partie du code accédée via un onglet.
Voir à cette adresse, particulièrement au paragraphe "Paramètres et ancres":
http://sametmax.com/tout-ce-que-vous-vouliez-savoir-sur-les-urls-web-sans-jamais-oser-le-demander/
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro), mais peuvent ne pas fonctionner sur tous les Pc
gaston gaston
1 397 contributions
Membre depuis le 01/03/2001
Envoyé le 14/09/2017 à 11:30 Modifié par gaston


Bonjour,

en fait non: j'ai découvert que c'est parce que lorsqu'on ouvre la page, il y a un onglet actif par défaut, et cet onglet actif ne change que si on clique sur un des autres onglets (grâce à jquery),
il faut donc mettre un script qui à l'ouverture de la page , va détecter l'ancre (c.a.d. l'id de l'élément) dans l'url, et déclencher l'équivalent d'un clic sur un lien, tout comme quand on clique sur un onglet, et ainsi le jquery va agir normalement.
Par contre...
j'ai fait une page test
sans le script
avec le script
essayez pour voir avec tabs.html#tab2
A noter que dans l'onglet 3 j'ai mis un lien vers l'onglet 2 sur le premier mot, mais quand je clique dessus, l'onglet 2 ne s'affiche qu'en réactualisant la page (normal puisque ce script ne fonctionne que lors de l'onload), donc il manque encore quelque chose...
mais enfin, ça fonctionne n'est-ce pas ?
Mais alors pourquoi nom de nom ça ne fonctionne pas sur ma page à moi ?!!! [:oZ] [:oZ] [:oZ] [;(]
ici
carpe diem
Claude40 Claude40
1 195 contributions
Membre depuis le 24/03/2010
Envoyé le 14/09/2017 à 12:48


Bonjour,
Ce dysfonctionnement fait penser à un problème de balise.
La page de test est limpide et facile à analyser. Pour le site complet, c'est plus délicat. L'auteur a plus de chances de s'y retrouver.
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro), mais peuvent ne pas fonctionner sur tous les Pc
Bipbipcoyote Bipbipcoyote
1 768 contributions
Membre depuis le 06/03/2001
Envoyé le 14/09/2017 à 15:19 Modifié par Bipbipcoyote


Bonjour,
il faut faire attention à la différence entre une ANCRE et une DIV
explications sur les ancres
donc ton lien <a href="tabs.html#tab2"> dans le code de la page pointe sur une ANCRE et il ne la trouve pas puisqu'elle n'existe pas... tu as attribué le nom tab2 à une DIV
ça fonctionne dans ton menu parce que la balise <li> est traitée dans ta fonction et dans ton css, or ton lien dans le texte lui n'est pas envoyé vers la fonction. Pour régler ton souci, il suffit de mettre en dessous de <div id='tab2'> une balise <a id='tab2'> Normalement même comme div et a sont 2 objets différents on peut utiliser un même nom, le navigateur doit pouvoir identifier lequel est sollicité (à tester) ou tu utilises un nom différent dans ton code et dans la balise <a>
Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions Visitez mon Site
gaston gaston
1 397 contributions
Membre depuis le 01/03/2001
Envoyé le 14/09/2017 à 15:52


Salut Bipbip,

j'ai testé sur ma page, non seulement ça marche pas et en plus, quand je fais comme tu dis, les liens qui existaient déjà dans ma page vers des div, ne fonctionnent plus ! [:o]
d'habitude, dans une page je mets très souvent un lien vers une div et ça ne pose aucun problème.

et pourquoi sur ma page test une partie fonctionne, tandis que sur la mienne non, alors ,que j'ai mis le même script ?


carpe diem

Participer à cette discussion

« Retour sur la liste des messages de ce forum