代码之家  ›  专栏  ›  技术社区  ›  BrunoLM

如何使脚本在使用ajax请求更新的页面上运行?

  •  0
  • BrunoLM  · 技术社区  · 14 年前

    我有一个脚本在一些页面上运行。问题是我在页面加载时附加了脚本,但是页面上的所有链接都发出请求并更改响应中的内容。(url的哈希更改)

    我需要一种方法来检查“页面”何时完成加载添加我的脚本。

    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会这么做)

    1 回复  |  直到 14 年前
        1
  •  0
  •   Lekensteyn    14 年前

    你可以用 setInterval

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