another take at disabling hashchange jumps with pure JS