web-dev-qa-db-fra.com

Pourquoi un signe # est-il ajouté à la fin des URL?

Remarque: je pose cette question du point de vue des développeurs de site (en essayant d'aider quelqu'un). pas en tant qu'utilisateur. S'il vous plaît ne transmettez pas cela à superuser.com. C'est une question d'administrateur de serveur.

Regardez ici

http://www.wanimo.com/fr/chiens/coussin-matelas-tapis-pour-chien-sc28/tapis-plat-urban-chic-sf7263/

vous verrez que la page est redirigée vers la même page avec # à la fin. Pire encore, lorsque vous cliquez en arrière, vous obtenez une url de poubelle.

J'essaie de déboguer ce qui cause la redirection. Un conseil sur la façon de le trouver?

2
Niro

Je n'ai jamais reçu l'annonce flottante, mais je suppose que l'annonce est déclenchée par un cookie (je n'ai pas encore vérifié s'il s'agissait d'une session ou d'une session). Le signe dièse (#) permet d’ajouter des balises de hachage à la page. J'utilise cela une tonne pour transmettre des variables javascript aux fonctions de la page. C'est comme si on passait des variables de manière normale ../somepage.html?x=1&y=2 sauf que c'est un peu plus convivial pour javascript.

Celles-ci fonctionnent également à l'ancienne comme liens d'ancrage. Si je souhaitais que vous accédiez à une section spécifique de la page après son chargement, je pourrais insérer la balise d'ancrage dans l'URL, forçant ainsi votre fenêtre de visualisation à passer directement de la page au point spécifique.

Personnellement, je suppose qu'un lien dans cette annonce a un lien mal configuré pour pointer vers href = "#" et que l'événement onclick est à l'origine de la fonction. C'est une erreur très courante lorsque vous utilisez javascript avec une fonction et que vous ne le rendez pas false pour éviter d'appliquer la balise de hachage.

2
XOPJ

Je ne vois pas le # avant que l'annonce JavaScript flottante ne s'affiche et je la rejette ensuite. Je suppose que le code JavaScript qui rend cela possible le fait. Quand je suis retourné une deuxième fois, il n'y avait pas de publicité ni de redirection.

0
John Conde

la cause du problème est la publicité. Il a un lien pour se fermer (Fermer). Dans l'événement onclick du lien, il existe un appel de fonction: fermeture (). Le href est "#". Mais il n'y a pas de retour false dans l'événement onclick, ce qui signifie que la page http://www.wanimo.com/fr/chiens/coussin-matelas-tapis-pour-chien-sc28/tapis-plat- urban-chic-sf7263/# est chargé.

Pour résoudre ce problème, la fenêtre publicitaire devrait ressembler à ceci: <a href="#" onclick="fermeture(); return false"> Fermer </a>

Dans un événement onclick d'un lien, "return false" signifie que la page ne sera pas redirigée vers l'URL de l'attribut href, mais qu'elle restera sur la page en cours, comme si rien ne s'était passé.

0
bdadam