- fix onhashchange for ie7
- support onbeforeurlchange for location