Comment exécuter du code jQuery ou JavaScript après la fin d’une redirection

Comment puis-je exécuter le code jQuery / JS dès qu’une redirection jQuery / JS comme …

$(location).attr('href','/target_path'); 

…ou…

 window.location.href = "/target_path"; 

… a fini de charger la nouvelle page?

Plus précisément, je dois passer un message d’alerte, l’insérer et l’afficher (inclus dans du HTML) sur la nouvelle page.

Il est impossible de dire à JavaScript d’exécuter du code après une redirection.

Cependant, vous avez différentes options:

  1. Passez une chaîne dans l’URL de redirection, puis faites quelque chose sur “prêt”
  2. Stocker des informations dans un cookie et ensuite faire quelque chose sur “prêt”
  3. Stockez des données en utilisant le stockage DOM (à savoir sessionStorage ) si le support de navigateur plus petit ne vous dérange pas

Tu ne peux pas. Une fois la redirection effectuée, vous n’êtes plus sur cette page. Vous ne pouvez pas exécuter de code sur une page sur laquelle vous n’êtes plus. Si vous souhaitez que la page suivante fasse quelque chose, vous devez transmettre, soit par cookie, soit par paramètre d’URL, un indicateur qui vous y invite.

Vous ne pouvez pas faire cela dans la page qui redirige. Vous pouvez lire le référent dans la page d’arrivée ( document.referrer ), puis décider si vous souhaitez afficher une alerte en fonction de cela.

 var x = "It's some text"; var loc = '/target_path'; loc += '?message=' + encodeURI(x); 

Le fichier JS de la nouvelle page peut ensuite consulter la chaîne de requête pour voir si un message est présent et effectuer l’action requirejse s’il est détecté.

Vous pouvez utiliser window.location.search sur la nouvelle page pour voir ce qu’il y a là, bien que je vous recommande de rechercher une fonction deparam dans une bibliothèque pour transformer la chaîne de requête en object plus utilisable.