support hashchange for backward/forward and Fixes #551