when linking to a hash that is not handled by the hash router (e.g. not a frame, not an anchor or anchor is display:none) this will lead to the router setting window.location.href. This is not necessary when the actual didn’T change. The actual effect is that the onpopstate handling is invoked which trigger the router again.
this can be seen on current landing page with the bootstrap collapsibles. in this case it works as bootstrap sets display:block and thus the router will handle the scroll to on the second run. In other cases that might lead to infinite window.location.href cycling.