---
title: hashchange
slug: Web/API/Window/hashchange_event
tags:
- Reference
- Web
translation_of: Web/API/Window/hashchange_event
---
L'événement `hashchange` est déclenché lorsque l'identificateur de fragment de l'URL a changé (la partie de l'URL qui suit le symbole #, y compris le symbole # lui-même).
Bulles |
Oui |
Annulable |
Non |
Objets cibles |
{{domxref("Window")}} |
Interface |
{{domxref("HashChangeEvent")}} |
Action par défaut |
Aucune |
## Propriétés
| Propriété | Type | Description |
| ------------------------------------- | ------------------------------------ | ----------------------------------------------------- |
| `target` {{readonlyInline}} | {{domxref("EventTarget")}} | The browsing context (`window`). |
| `type` {{readonlyInline}} | {{domxref("DOMString")}} | Type de l'évènement |
| `bubbles` {{readonlyInline}} | {{jsxref("Boolean")}} | Whether the event normally bubbles or not. |
| `cancelable` {{readonlyInline}} | {{jsxref("Boolean")}} | Whether the event is cancellable or not. |
| `oldURL` {{readonlyInline}} | {{jsxref("String")}} | The previous URL from which the window was navigated. |
| newURL {{readonlyInline}} | {{jsxref("String")}} | |
Il existe plusieurs scripts de secours listés sur [cette page](https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills). Fondamentalement, ces scripts vérifient le `location.hash` à intervalles réguliers. Voici une version qui n'autorise qu'un seul gestionnaire à être lié à la propriété `window.onhashchange`:
```js
;(function(window) {
// Sortir si le navigateur implémente cet événement
if ("onhashchange" in window) { return; }
var location = window.location,
oldURL = location.href,
oldHash = location.hash;
// Vérifie la hash de la barre d'adresse toutes les 100ms
setInterval(function() {
var newURL = location.href,
newHash = location.hash;
// Si le hash a été changé et qu'un gestionnaire a été lié...
if (newHash != oldHash && typeof window.onhashchange === "function") {
// exécute le gestionnaire
window.onhashchange({
type: "hashchange",
oldURL: oldURL,
newURL: newURL
});
oldURL = newURL;
oldHash = newHash;
}
}, 100);
})(window);
```
## Spécifications
| Spécification | Status | Commentaire |
| ---------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------- |
| {{SpecName('HTML WHATWG', 'indices.html#event-hashchange', 'hashchange')}} | {{Spec2('HTML WHATWG')}} | Définition initiale |
## Compatibilité des navigateurs
{{Compat("api.Window.hashchange_event")}}
## Voir aussi
- [`popstate`](/en-US/docs/Mozilla_event_reference/popstate)
- [WindowEventHandlers.onhashchange](/en-US/docs/Web/API/WindowEventHandlers/onhashchange)