HTML5-History-API icon indicating copy to clipboard operation
HTML5-History-API copied to clipboard

add simple test illustrating hashchange event breakage

Open ahamid opened this issue 11 years ago • 1 comments

I believe this test demonstrates that the standard hashchange event is broken.

In onHashChangeEvent, fireNow and lastURL values are different, and appear to capture the last [sic] and next [sic] hash values.

function onHashChange(event) {
 // https://github.com/devote/HTML5-History-API/issues/46
 var fireNow = lastURL;
 // new value to lastURL
 lastURL = windowLocation.href;

e..g

> fireNow
"file:///home/user/workspace/HTML5-History-API/test/test_hashchange_html5.html"
> lastURL
"file:///home/user/workspace//HTML5-History-API/test/test_hashchange_html5.html#/path"

however, later, the lastURL and newURL values are compared, and they are identical

var oldURLObject = parseURL(lastURL, true);
var newURLObject = parseURL();
...
if (oldURLObject._hash !== newURLObject._hash) {
  // if current hash not equal previous hash
  dispatchEvent(event);
}

and the event is never fired.

ahamid avatar Jun 21 '14 18:06 ahamid

Hi,

Thank you very much for pointing out the error. This I did not complete the problem associated with https://github.com/devote/HTML5-History-API/issues/46

Now I fixed the problem and now it should work fine.

devote avatar Jun 21 '14 19:06 devote