我有一个setTimeout,它在名为newURL的变量中记录URL。
function checkURL() {
var newURL = window.location;
} setInterval(checkURL, 1000);
我想要发生的是,当URL发生变化时,必须执行某个功能。有人可以帮我吗?
答案 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)
使用全局变量存储旧网址。您可以检查网址是否已更改并执行某些功能。