website/assets/js/redirect.js

50 lines
1.8 KiB
JavaScript
Raw Normal View History

2024-12-31 15:48:05 +00:00
document.addEventListener("DOMContentLoaded", function () {
// Fonction pour obtenir les paramètres d'URL
function getQueryParams() {
const params = {};
const queryString = window.location.search.substring(1);
const regex = /([^&=]+)=([^&]*)/g;
let match;
while (match = regex.exec(queryString)) {
params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]);
}
return params;
}
// Fonction pour charger les redirections à partir du fichier JSON relatif au script
function loadRedirections() {
const jsonUrl = new URL('../json/redirect.json', import.meta.url).href;
return fetch(jsonUrl)
.then(response => {
if (!response.ok) {
throw new Error("Erreur lors du chargement du fichier JSON");
}
return response.json();
})
.catch(error => {
console.error("Erreur:", error);
return {}; // Retourner un objet vide si le chargement échoue
});
}
const defaultRedirection = '../';
// Charger les redirections et appliquer la logique
loadRedirections().then(redirections => {
const queryParams = getQueryParams();
// Déterminer l'URL cible en fonction des paramètres d'URL
const targetUrl = queryParams.link && redirections[queryParams.link] ? redirections[queryParams.link] : defaultRedirection;
// Mettre à jour le lien "here"
const hereElement = document.getElementById('here');
if (hereElement) {
hereElement.href = targetUrl;
}
// Rediriger après 3 secondes
setTimeout(function () {
window.location.href = targetUrl;
}, 3000);
});
});