Skip to content

Commit

Permalink
Prevent sort2Hash from adding extraneous entries to browser history
Browse files Browse the repository at this point in the history
Use `window.location.replace` to update the browser URL only, rather than `window.location.hash`, which modifies the browser history.
  • Loading branch information
alexweissman authored and Mottie committed Sep 1, 2017
1 parent 86e2b7c commit 6fe2cdf
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions js/widgets/widget-sort2Hash.js
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,19 @@
hash = s2h.cleanHash( c, wo, component, hash );
str += value;
});
// add updated hash
window.location.hash = ( ( window.location.hash || '' ).replace( '#', '' ).length ? hash : wo.sort2Hash_hash ) + str;

// Combine new hash with any existing hashes
var hashChar = c.widgetOptions.sort2Hash_hash;
var newHash = ( ( window.location.hash || '' ).replace( hashChar, '' ).length ? hash : wo.sort2Hash_hash ) + str;
var baseUrl = window.location.href.split(hashChar)[0];
// Ensure that there is a leading hash character
var firstChar = newHash[0];
if (firstChar != hashChar) {
newHash = hashChar + newHash;
}

// Update URL in browser
window.location.replace(baseUrl + newHash);
}
};

Expand Down

0 comments on commit 6fe2cdf

Please sign in to comment.