Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何拦截window.location更改_Javascript_Jquery - Fatal编程技术网

Javascript 如何拦截window.location更改

Javascript 如何拦截window.location更改,javascript,jquery,Javascript,Jquery,我需要一种方法来为window.location的每个分配附加一些预处理。有没有办法做到这一点。我基本上需要序列化一些信息,这些信息将在新位置使用。你可能想看看Ben Nadel关于这方面的帖子,它可能正是你想要的 他在文章中的示例谈到创建一个事件处理程序,当窗口发生更改时触发更改事件。位置更改您可以使用该事件触发代码在导航之前运行。。。如果您需要更具体的功能(例如,仅在代码中启动导航),那么我建议您将更改代码的窗口位置分解为一个单独的函数,并为您的自定义逻辑添加一个挂钩。这对单页应用有效吗?

我需要一种方法来为window.location的每个分配附加一些预处理。有没有办法做到这一点。我基本上需要序列化一些信息,这些信息将在新位置使用。

你可能想看看Ben Nadel关于这方面的帖子,它可能正是你想要的


他在文章中的示例谈到创建一个事件处理程序,当
窗口发生更改时触发更改事件。位置
更改

您可以使用该事件触发代码在导航之前运行。。。如果您需要更具体的功能(例如,仅在代码中启动导航),那么我建议您将更改代码的
窗口位置
分解为一个单独的函数,并为您的自定义逻辑添加一个挂钩。

这对单页应用有效吗?在Angular和其他SPA框架中,URL会更改,但页面不会卸载/重新加载,因此我想知道是否会触发此事件。一般来说,框架提供自定义事件来获取位置changes@CarlG,在单页应用程序中,如果url哈希已更改,您可以使用
onhashchange
注册处理程序。我将用window.location.href追加&Id。在卸货之前不会进到里面的。是否有一种方法可以找到所有改变URL的事件?实际上,解决方案似乎是
setInterval
,并定期检查。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-