J'ai bien peur que cela soit impossible, mais y a-t-il un moyen de modifier la valeur de hachage d'une URL sans laisser une entrée dans l'historique du navigateur et sans recharger ? Ou faire l'équivalent?
En ce qui concerne les détails, je développais une navigation de hachage de base comme:
//hash nav -- works with js-tabs
var getHash = window.location.hash;
var hashPref = "tab-";
function useHash(newHash) {
    //set js-tab according to hash
    newHash = newHash.replace('#'+hashPref, '');
    $("#tabs li a[href='"+ newHash +"']").click();
}
function setHash(newHash) {
    //set hash according to js-tab
    window.location.hash = hashPref + newHash;
    //THIS IS WHERE I would like to REPLACE the location.hash
    //without a history entry
}
    // ... a lot of irrelavent tabs js and then....
    //make tabs work
    $("#tabs.js-tabs a").live("click", function() {
        var showMe = $(this).attr("href");
        $(showMe).show();
        setHash(showMe);
        return false;
    });
    //hash nav on ready .. if hash exists, execute
    if ( getHash ){
        useHash(getHash);
    }
En utilisant jQuery, évidemment. L'idée est que dans ce cas précis 1) faire revenir l'utilisateur sur chaque changement d'onglet pourrait effectivement `` casser le bouton de retour '' en empilant des références inutiles, et 2) ne pas conserver l'onglet sur lequel il se trouve actuellement s'il appuie sur Actualiser est un ennui.