Menu

Changer le titre d'une page lorsque l'on clique sur un lien

Messages postés
135
Date d'inscription
mardi 24 avril 2012
Dernière intervention
10 mars 2019
- - Dernière réponse : bg62
Messages postés
23182
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
25 mars 2019
- 10 mars 2019 à 17:17
Bonjour,

J'ai beau suivre les différents tutos trouvés grâce à mon ami Google mais je n'arrive pas à changer le titre de mon index lorsque je clique sur un lien. Mon site se compose d'une page principale dont le contenu, notamment des articles, change lorsque je clique sur les liens du menu. Peut-être que le problème vient du fait que j'essaye de changer le titre de ma page principale alors qu'elle ne se recharge pas lorsque je clique sur les liens...

Ma page principale qui reste statique et ne se recharge pas :
<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta charset="utf-8" />
		<link rel="stylesheet" href="css/style.css" />
		<script type="text/javascript" src="js/jquery.js"></script>
		<title>
			<!-- ICI LE TITRE QUI DOIT CHANGER -->
		</title>
	</head>
	<body>
		<!---------------------->
		<!------- HEADER ------->
		<!---------------------->
		<?php include('header/header.php'); ?>
		<!-------------------------->
		<!------- NAVIGATION ------->
		<!-------------------------->
		<?php include('navigation/navigation.php'); ?>
		<!------------------------>
		<!------- ARTICLES ------->
		<!------------------------>
		<div id="conteneur_articles">
			<?php include('articles/entreprise.php'); ?>
		</div>
		<!---------------------->
		<!------- FOOTER ------->
		<!---------------------->
		<?php include('footer/footer.php'); ?>
	</body>
</html>


Le menu :
<!-------------------------->
<!------- NAVIGATION ------->
<!-------------------------->
<script type="text/javascript" src="js/articles.js"></script>
<div id="navigation">
	<nav>
		<ul>
			<li class="bouton"><a href="#" id="1" onclick="function(afficherArticle);">Une entreprise de proximité</a></li>
		</ul>
	</nav>
</div>


Et enfin le script :
$(document).ready(function(afficherArticle) {
	$('#1').click(function() {
		$('#conteneur_articles').load('articles/entreprise.php');
		return false;
	});
});


Configuration: Ordinateur portable ASUS UX21E
Windows 7
Afficher la suite 

Votre réponse

1 réponse

0
Merci
Bonjour,

En effet vous utilisez "load" pour charger le contenu d'un élément ayant pour id "conteneur_articles" et cela a pour effet de ne recharger que le contenu de ce dernier élément et non l'intégralité de la page. Donc le titre de page ne peut être modifié de la sorte.

Voici ce que je vous suggère en lieu et place en guise de complément à votre script js :

$('#1').click(function() {
var title = $(this).text();
$('#conteneur_articles').load('articles/entreprise.php', '', function(data) {
document.title = title;
});
return false;
});

A voir si cela fonctionne.

Après je ne sais pas si le but pour vous est que votre site soit correctement référencé mais en utilisant une méthode comme celle-ci (très rudimentaire) c'est impossible :)
YameFAZE
Messages postés
135
Date d'inscription
mardi 24 avril 2012
Dernière intervention
10 mars 2019
-
J'ai oublié de te demander, pour que la page principale récupère la variable envoyée par ton script, elle doit obligatoirement être rechargée ? Si oui alors le script ne me sert à rien et je n'ai plus qu'à recharger la page complètement en en créant une nouvelle... snif.
Google ne référence pas le contenu injecté par ajax (methode load que vous utilisez). Lorsque le robot va passer sur votre page, il ne verra que le contenu dynamique et donc prendra le titre de page chargé par défaut et le contenu visible de manière statique. Javascript et robot = bof :)
Après je n'ai jamais dis que le site ne sera jamais référencé, j'ai dis qu'il ne le sera pas de manière optimale (à savoir sur le contenu des articles).
Après je ne connais pas l'intégralité de votre site internet donc je ne peux émettre que des hypothèses.
YameFAZE
Messages postés
135
Date d'inscription
mardi 24 avril 2012
Dernière intervention
10 mars 2019
-
Bref merci la simplicité pour le développeur quoi. ^^ J'ai finalement décidé de créer une page entière pour chaque article, ça va alourdir un peu le poids du site et la gestion mais ce sera plus simple à mettre en place et puis du coup le référencement sera fait correctement. Merci.
Utilisateur anonyme -
Il existe des méthodes plus propres pour faire cela mais il n'est pas simple d'expliquer cela comme ça, par le biais d'un forum. Il existe des tonnes de tuto sur le sujet (voir mvc, framework) permettant de développer un site php de manière propre mais cela nécessite des connaissances un peu plus poussées. Rien d'inaccessible cela dit, lecture et pratique sont de rigueurs :)
bg62
Messages postés
23182
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
25 mars 2019
3146 -
:) +100 :)
Commenter la réponse de Utilisateur anonyme