J'ai besoin d'un moyen d'attacher un pré-traitement à chaque affectation de window.location. Y a-t-il un moyen de faire cela. J'ai fondamentalement besoin de sérialiser certaines informations, qui seront utilisées dans le nouvel emplacement.Javascript: Comment intercepter window.location change
Répondre
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.
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
En effet, la solution semble 'setInterval' et vérifie périodiquement. –
- 1. Window.Location?
- 2. Intercepter l'événement javascript
- 3. javascript window.location et JS erreur Cadre
- 4. window.location problème
- 5. Intercepter Javascript avant de l'exécuter
- 6. JQuery.address comment supprimer # de l'url (javascript window.location remove #)
- 7. jquery: delay() + window.location?
- 8. Intercepter l'accès à DOM par JavaScript
- 9. Javascript window.location recherche de "#" ne retourne jamais vrai
- 10. window.location et window.open problème
- 11. Javascript replace() avec case-change
- 12. Le changement de window.location arrête-t-il l'exécution de javascript?
- 13. Intercepter des appels spécifiques en Javascript
- 14. web gestion proxy window.location redirection
- 15. Comment intercepter l'événement NotifyPropertyChange
- 16. Intercepter a4j: commandButton request
- 17. .NET MVC jQuery chemin relatif pour window.location
- 18. setTimeout ne fonctionne pas avec window.location?
- 19. JQuery Modal Popup après window.location
- 20. setTimeout avec window.location et $ (this)
- 21. Comment intercepter ces deux clés: ":" et "."?
- 22. Comment analyser l'adresse du navigateur Web en utilisant javascript et window.location?
- 23. Javascript ne change pas de document?
- 24. RIA: comment intercepter les données
- 25. Comment intercepter l'exception sur RollBack
- 26. Comment intercepter une exception Microsoft.SharePoint.SoapServer.SoapServerException?
- 27. Comment intercepter l'erreur Django request.GET?
- 28. Intercepter un appel de fonction Javascript avec Selenium
- 29. Comment intercepter tous les événements jquery ajax?
- 30. variables $ _SESSION envoi avec window.location rediriger
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. –
En général, les frameworks fournissent des événements personnalisés pour récupérer les modifications d'emplacement – Nobita
@CarlG, dans les applications d'une seule page, vous pouvez utiliser 'onhashchange' pour enregistrer un gestionnaire si le hash d'URL a changé. – shuangwhywhy