Javascript 如何在加载、后退和前进时运行函数

Javascript 如何在加载、后退和前进时运行函数,javascript,jquery,routing,cross-browser,url-routing,Javascript,Jquery,Routing,Cross Browser,Url Routing,我在这个网站上查看了一些其他过时的问题,发现它们的解决方案似乎不再适用于现代浏览器 var foo = function() { console.log('woohoo'); }; foo(); 我想让它每次都运行。显然,在第一次初始加载时运行它没有问题,但我使用url哈希来隐藏和显示某些div的内容。当用户单击前进和后退时,我希望此函数也能再次运行 浏览器缓存页面,以便在向后/向前加载时更快。由于这个原因,永远不会触发加载事件,这也是代码不会再次运行的原因。浏览器正在恢复以前的状态 有关

我在这个网站上查看了一些其他过时的问题,发现它们的解决方案似乎不再适用于现代浏览器

var foo = function() {
  console.log('woohoo');
};
foo();

我想让它每次都运行。显然,在第一次初始加载时运行它没有问题,但我使用url哈希来隐藏和显示某些div的内容。当用户单击前进和后退时,我希望此函数也能再次运行

浏览器缓存页面,以便在向后/向前加载时更快。由于这个原因,永远不会触发加载事件,这也是代码不会再次运行的原因。浏览器正在恢复以前的状态

有关此操作的更多详细信息,请参阅

因为您只是处理哈希,所以可以尝试绑定到事件并调用您的方法

window.addEventListener("hashchange", foo);

如果您使用的是单页框架,如Angular、Backbone或其他多个框架中的一个,它们通常也会为您提供一种处理方法,因此如果是这样的话,请查看文档。

浏览器会缓存页面,以便在后退/前进时更快地加载。由于这个原因,永远不会触发加载事件,这也是代码不会再次运行的原因。浏览器正在恢复以前的状态

有关此操作的更多详细信息,请参阅

因为您只是处理哈希,所以可以尝试绑定到事件并调用您的方法

window.addEventListener("hashchange", foo);

如果您使用的是单页框架,如Angular、Backbone或其他多个框架中的一个,它们通常也会为您提供一种处理方法,因此如果是这样的话,请查看文档。

浏览器会缓存页面,以便在后退/前进时更快地加载。由于这个原因,永远不会触发加载事件,这也是代码不会再次运行的原因。浏览器正在恢复以前的状态

有关此操作的更多详细信息,请参阅

因为您只是处理哈希,所以可以尝试绑定到事件并调用您的方法

window.addEventListener("hashchange", foo);

如果您使用的是单页框架,如Angular、Backbone或其他多个框架中的一个,它们通常也会为您提供一种处理方法,因此如果是这样的话,请查看文档。

浏览器会缓存页面,以便在后退/前进时更快地加载。由于这个原因,永远不会触发加载事件,这也是代码不会再次运行的原因。浏览器正在恢复以前的状态

有关此操作的更多详细信息,请参阅

因为您只是处理哈希,所以可以尝试绑定到事件并调用您的方法

window.addEventListener("hashchange", foo);

如果您使用的是单页框架,如Angular、Backbone或其他多个框架中的一个,它们通常也会为您提供一种处理方法,因此如果是这种情况,请查看文档。

尝试使用此$(window).on('beforeunload',function(){foo();})@chadh会自动调整浏览器本身。特别是现在的chrome。@Sushil很遗憾,这不起作用。我在其他文章中也看到过这种解决方案,但它们都比较旧。您需要展示一些处理向前/向后和显示/隐藏功能的代码。我想,您可以很容易地从这些事件处理程序中调用
foo
@chadh会自动调整浏览器本身。特别是现在的chrome。@Sushil很遗憾,这不起作用。我在其他文章中也看到过这种解决方案,但它们都比较旧。您需要展示一些处理向前/向后和显示/隐藏功能的代码。我想,您可以很容易地从这些事件处理程序中调用
foo
@chadh会自动调整浏览器本身。特别是现在的chrome。@Sushil很遗憾,这不起作用。我在其他文章中也看到过这种解决方案,但它们都比较旧。您需要展示一些处理向前/向后和显示/隐藏功能的代码。我想,您可以很容易地从这些事件处理程序中调用
foo
@chadh会自动调整浏览器本身。特别是现在的chrome。@Sushil很遗憾,这不起作用。我在其他文章中也看到过这种解决方案,但它们都比较旧。您需要展示一些处理向前/向后和显示/隐藏功能的代码。我假设.TIL是关于hashChange事件侦听器的,您可以很容易地从这些事件处理程序中调用
foo
。这很有魅力。非常感谢。关于hashChange事件侦听器。这很有魅力。非常感谢。关于hashChange事件侦听器。这很有魅力。非常感谢。关于hashChange事件侦听器。这很有魅力。非常感谢你。