fix: vérification immédiate /team au chargement et nettoyage supplémentaire
- Vérification immédiate de /team au chargement du script (avant Next.js) - Interception des clics en phase de capture (avant Next.js) - Nettoyage supplémentaire dans le script Python si des liens persistent - Affichage immédiat sans attendre le header Cela devrait enfin résoudre les deux problèmes persistants
This commit is contained in:
@@ -969,6 +969,48 @@ Interface de pilotage pour les responsables sécurité des PME.
|
|||||||
}
|
}
|
||||||
window.__strategieScriptLoaded = true;
|
window.__strategieScriptLoaded = true;
|
||||||
|
|
||||||
|
// Vérifier la route /team IMMÉDIATEMENT au chargement (avant tout le reste)
|
||||||
|
(function checkTeamRouteImmediately() {
|
||||||
|
function normalizePath(pathname) {
|
||||||
|
if (!pathname) return '/';
|
||||||
|
const cleaned = pathname.replace(/\/+$/, '');
|
||||||
|
return cleaned === '' ? '/' : cleaned;
|
||||||
|
}
|
||||||
|
const path = normalizePath(window.location.pathname);
|
||||||
|
if (path === '/team' || path === '/team/') {
|
||||||
|
console.log('🔍 Route /team détectée immédiatement, affichage...');
|
||||||
|
// Attendre que le body soit disponible
|
||||||
|
if (document.body) {
|
||||||
|
showTeamPage();
|
||||||
|
} else {
|
||||||
|
const checkBody = setInterval(() => {
|
||||||
|
if (document.body) {
|
||||||
|
clearInterval(checkBody);
|
||||||
|
showTeamPage();
|
||||||
|
}
|
||||||
|
}, 10);
|
||||||
|
// Timeout de sécurité
|
||||||
|
setTimeout(() => clearInterval(checkBody), 5000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
// Intercepter les clics sur les liens /team AVANT que Next.js ne les gère
|
||||||
|
document.addEventListener('click', function(e) {
|
||||||
|
const link = e.target.closest('a');
|
||||||
|
if (link) {
|
||||||
|
const href = link.getAttribute('href') || link.href;
|
||||||
|
if (href && (href.includes('/team') || href === '/team' || href === '/team/' || href === '/team.html')) {
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
e.stopImmediatePropagation();
|
||||||
|
console.log('🛑 Clic sur lien /team intercepté, affichage de la page équipe...');
|
||||||
|
showTeamPage();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, true); // Capture phase pour intercepter avant Next.js
|
||||||
|
|
||||||
// Éviter de modifier document.documentElement qui peut déclencher des rechargements Fast Refresh
|
// Éviter de modifier document.documentElement qui peut déclencher des rechargements Fast Refresh
|
||||||
// Utiliser MutationObserver pour détecter quand le header est ajouté
|
// Utiliser MutationObserver pour détecter quand le header est ajouté
|
||||||
function waitForHeaderAndInit() {
|
function waitForHeaderAndInit() {
|
||||||
|
|||||||
Reference in New Issue
Block a user