Il existe deux approches que je peux envisager pour résoudre ce problème :
- Comme Bootstrap 4 n'utilise pas les url
#hash
pour la navigation des onglets, un simple script JavaScript peut écouter les événements de clic sur les liens réguliers et déclencher des clics supplémentaires –sous le capot– sur les onglets correspondants.
- Utilisez des url
#hash
es et ouvrez les onglets en fonction de la modification de cette valeur. Cette approche présente également l'avantage que les onglets seront directement linkables, vous pourriez ainsi utiliser par exemple exemple.com#sign-up pour ouvrir une page avec un onglet spécifique ouvert.
Vous trouverez ci-dessous deux extraits de code pour chaque approche.
1. Clics sous le capot:
$('.tab-link').on('click', function(event) {
// Empêcher le changement d'URL
event.preventDefault();
// `this` est la balise cliquée
$('[data-toggle="tab"][href="' + this.hash + '"]').trigger('click');
})
`* Se connecter
* [Mot de passe oublié](#forgot-password)
* [S'inscrire](#sign-up)
Onglet de connexion
[Aller à Mot de passe oublié](#forgot-password)
Onglet Mot de passe oublié
Onglet S'inscrire`
2. Utilisation de hash dans l'URL:
$(document).ready(function() {
function onHashChange() {
var hash = window.location.hash;
if (hash) {
// en utilisant la syntaxe de chaîne de modèle ES6
$(`[data-toggle="tab"][href="${hash}"]`).trigger('click');
}
}
window.addEventListener('hashchange', onHashChange, false);
onHashChange();
});
Se connecter
Mot de passe oublié
S'inscrire
Onglet de connexion
Aller à Mot de passe oublié
Onglet Mot de passe oublié
Onglet S'inscrire