如何监听 location.href 这个值发生了变化?
目前用循环判断,感觉有点....
Google 了一番,没有找到答案,来求问 V 友。
----
项目背景
一个 Chrome 插件给当前页面注入了 JS ( content script),需要根据 URL 变化来做一些事情。 ----------------------- 以下是精选回复-----------------------
答:记得有 history.js ?
答:不能记录上一次的 location jref 么,然后做对比?
答:http://stackoverflow.com/questions/3522090/event-when-window-location-href-changes
答:onhashchange, beforeunload?
AngularJS 有这个功能,你可以看看是怎么实现的
答:href 如果是 hash 部分变了,有 hashchange
如果不是 hash 部分,页面会重新加载,有 beforeunload / unload
如果是使用 history api 改动,有 history.onpushstate / history.onpopstate
答:location.__defineSetter__("herf",function(){debugger;})
这样???
答:老旧版本的浏览器还是要用 setTimeout 的,新的浏览器就可以参考楼上的。
答:window.addEventListener('hashchange', function() { });
答:historyAPI 优选,其次 hashcange 事件
0条评论