2010-01-15 6 views

Répondre

24

vous pouvez utiliser l'événement beforeunload pour déclencher votre code à exécuter avant la navigation ... Si vous avez besoin quelque chose de plus spécifique (par exemple, ne navigations lancé en votre code), la n Je vous recommande de factoriser le code en changeant window.location dans une fonction séparée, et ajoutez un crochet pour votre logique personnalisée.

+0

Est-ce que cela fonctionne pour les applications d'une seule page? Dans Angular et d'autres frameworks SPA, l'URL change mais la page ne décharge pas/recharge, donc je me demande si cet événement se déclenche. –

+0

En général, les frameworks fournissent des événements personnalisés pour récupérer les modifications d'emplacement – Nobita

+1

@CarlG, dans les applications d'une seule page, vous pouvez utiliser 'onhashchange' pour enregistrer un gestionnaire si le hash d'URL a changé. – shuangwhywhy

14

Vous voudrez peut-être regarder le poste de Ben Nadel en ce qui concerne le faire, il peut être exactement ce que vous cherchez

Binding Events to non DOM objects with jQuery

Son exemple dans le post parle de la création d'un gestionnaire d'événements déclenche un événement de changement quand window.location change

+7

En effet, la solution semble 'setInterval' et vérifie périodiquement. –

Questions connexes