I. Introduction

Vous pouvez utiliser Ext.History.add() pour changer la valeur dans la barre d'URL et ajouter un élément dans l'historique du navigateur. Par exemple, vous pourriez aller de example.com#contacts à example.com#email. Cela ne recharge pas la page, mais vous pouvez être à l'écoute des changements et charger différents formulaires en ExtJS.

II. Tromper l'historique

Cependant, j'ai parfois besoin de changer l'URL sans ajouter un élément dans l'historique, mais cela lance quand même l'événement Ext.History.change. Pour faire cet appel :

 
Sélectionnez
window.location.replace('#somevalue');


J'ai ajouté une fonction à Ext.History :

 
Sélectionnez
Ext.History.replace = function(value){
    location.replace('#' + value);
};


Vous pouvez l'utiliser pour aller de contacts/create à contacts/99 (en précisant la sauvegarde automatique), sans devoir appuyer deux fois sur la touche "retour" pour revenir d'où vous venez.

III. Remerciements

Cet article a été publié avec l'aimable autorisation de Neil McGuigan. L'article original peut être lu sur le blog ExtJS TutorialsExtJS Tutorials : Ext Replace HistoryExt Replace History.
Je remercie également djibril pour sa relecture rapide.