Javascript 运行';如果url包含';无页面刷新的条件函数

Javascript 运行';如果url包含';无页面刷新的条件函数,javascript,jquery,url,if-statement,single-page-application,Javascript,Jquery,Url,If Statement,Single Page Application,我有一个单页应用程序,其中url的一部分会发生更改,但页面不会刷新 我有一个需要运行的简单函数,只有当URL中出现“foo”时才需要运行 这显然不起作用,因为它只在第一次加载页面时运行,“foo”可能还不存在 if (window.location.href.indexOf("foo") > -1) { //stuff } 是否有一种方法可以检测URL更改以运行我的函数?还是更好的方法?所讨论的URL不包含哈希,因此hashchange不起作用。您可以使用while循环运行,直到找到您需

我有一个单页应用程序,其中url的一部分会发生更改,但页面不会刷新

我有一个需要运行的简单函数,只有当URL中出现“foo”时才需要运行

这显然不起作用,因为它只在第一次加载页面时运行,“foo”可能还不存在

if (window.location.href.indexOf("foo") > -1) {
//stuff
}

是否有一种方法可以检测URL更改以运行我的函数?还是更好的方法?所讨论的URL不包含哈希,因此hashchange不起作用。

您可以使用while循环运行,直到找到您需要的内容,如下所示:

var found =false;
while(found == false){

    if (window.location.href.indexOf("foo") > -1) {
    //stuff
        found = true;
        //more code 
     }

} 

如果您使用某种路线,您可以观看路线更改事件