hashchange
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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 | Window |
Interface | HashChangeEvent |
Action par défaut | Aucune |
Propriétés
Propriété | Type | Description |
---|---|---|
target Lecture seule |
EventTarget |
The browsing context (window ). |
type Lecture seule |
DOMString |
Type de l'évènement |
bubbles Lecture seule |
Boolean |
Whether the event normally bubbles or not. |
cancelable Lecture seule |
Boolean |
Whether the event is cancellable or not. |
oldURL Lecture seule |
String |
The previous URL from which the window was navigated. |
newURL Lecture seule | String |
Il existe plusieurs scripts de secours listés sur cette page. 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
Specification |
---|
HTML Standard # event-hashchange |
HTML Standard # handler-window-onhashchange |
Compatibilité des navigateurs
BCD tables only load in the browser