我有一个在某些页面上运行的脚本。问题是我在页面加载上附加脚本,但页面上的所有链接都会发出请求并更改响应中的内容。 (网址的哈希变化)
我需要一种方法来检查“页面”何时加载以添加我的脚本。
问题:
somesite.com/home (event load is fired)
*user clicks a link*
somesite.com/home#profile (event load isn't fired, the page is
already loaded, but the contents are
being changed through ajax calls)
我该怎么做?我正在考虑添加一个将一直检查页面并调用相应脚本的观察程序。
如何在请求结束时检查页面是否正在发送请求并执行某些操作? (我想这可能是因为Firebug会这样做)
答案 0 :(得分:0)
您可以使用setInterval
,并检查位置哈希值的每500毫秒:
var oldHash = '';
setInterval(function(){
var newHash = location.hash;
if(oldHash != newHash){
oldHash = newHash;
// do something
}
}, 500);