title: How to replace the location hash and only keep the last history entry?
body: <p>I'm using the <a href="http://benalman.com/projects/jquery-bbq-plugin/" rel="noreferrer">jQuery BBQ plug-in</a> to track the users progress through the page. However, I only want to create 1 additional entry in the user's history, not one for every hash change.</p>
  
  <p>I've tried the <code>jQuery.bbq.pushState</code> and <a href="http://benalman.com/code/projects/jquery-bbq-dev/docs/files/jquery-ba-bbq-js.html#jQuery.param.querystring%28build_url%29" rel="noreferrer"><code>merge_mode</code></a> methods, without success: New history entries are still added:</p>
  
  <pre><code>jQuery.bbq.pushState({ sort: encodeURIComponent(sort) });
  </code></pre>
  
  <p>I have also tried <code>location.replace()</code>, but that doesn't work for Safari 5.1.2.</p>
  
  <pre><code>location.replace('#' + encodeURIComponent(sort))
  </code></pre>
  
  <p>What's the cross-browser solution to modify the hash, without adding too much entries to the history?</p>