开发者

How to make a script to run on pages that updates with ajax requests?

I have a script that runs on some pages. The problem is that I attach the script on the page load, but all links on the page make requests and change the contents from the response. (The url's hash changes)

I need a way to check w开发者_开发问答hen the "page" is finished loading to add my scripts.

The problem:

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)

How can I do that? I'm thinking on adding a watcher that will check the page all the time and call the corresponding script.

How can I check if the page is sending a request and execute something when the request ends? (I guess it's possible since Firebug does that)


You could use setInterval, and check every 500 ms for changes in the location hash:

var oldHash = '';
setInterval(function(){
   var newHash = location.hash;
   if(oldHash != newHash){
      oldHash = newHash;
      // do something
   }
}, 500);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜