URL更改事件 - JavaScript

时间:2012-06-11 13:45:45

标签: javascript javascript-events settimeout

我有一个setTimeout,它在名为newURL的变量中记录URL。

function checkURL() {
    var newURL = window.location;
} setInterval(checkURL, 1000);

我想要发生的是,当URL发生变化时,必须执行某个功能。有人可以帮我吗?

3 个答案:

答案 0 :(得分:4)

在您可以捕获网址中的更改之前,不确定为什么页面不会重新加载。 您还可以查看window.onunload

var checkURL = (function () {
    var oldURL = location.href;
    return function (fn) {
        var newURL = location.href;
        if (fn && oldURL !== newURL) {
            fn(oldURL, newURL);
        }
        oldURL = newURL;
    };
}());

答案 1 :(得分:1)

据我所知,当url更改将是该页面中JS脚本的新执行。 “window.location”将返回当前的URL,但JavaScript不会在脚本中记录/注册数据,也不会将页面中的变量记录到另一个页面。

答案 2 :(得分:0)

使用全局变量存储旧网址。您可以检查网址是否已更改并执行某些功能。