Javascript 如何拦截window.location更改
我需要一种方法来为window.location的每个分配附加一些预处理。有没有办法做到这一点。我基本上需要序列化一些信息,这些信息将在新位置使用。你可能想看看Ben Nadel关于这方面的帖子,它可能正是你想要的Javascript 如何拦截window.location更改,javascript,jquery,Javascript,Jquery,我需要一种方法来为window.location的每个分配附加一些预处理。有没有办法做到这一点。我基本上需要序列化一些信息,这些信息将在新位置使用。你可能想看看Ben Nadel关于这方面的帖子,它可能正是你想要的 他在文章中的示例谈到创建一个事件处理程序,当窗口发生更改时触发更改事件。位置更改您可以使用该事件触发代码在导航之前运行。。。如果您需要更具体的功能(例如,仅在代码中启动导航),那么我建议您将更改代码的窗口位置分解为一个单独的函数,并为您的自定义逻辑添加一个挂钩。这对单页应用有效吗?
他在文章中的示例谈到创建一个事件处理程序,当
窗口发生更改时触发更改事件。位置
更改您可以使用该事件触发代码在导航之前运行。。。如果您需要更具体的功能(例如,仅在代码中启动导航),那么我建议您将更改代码的窗口位置分解为一个单独的函数,并为您的自定义逻辑添加一个挂钩。这对单页应用有效吗?在Angular和其他SPA框架中,URL会更改,但页面不会卸载/重新加载,因此我想知道是否会触发此事件。一般来说,框架提供自定义事件来获取位置changes@CarlG,在单页应用程序中,如果url哈希已更改,您可以使用onhashchange
注册处理程序。我将用window.location.href追加&Id。在卸货之前不会进到里面的。是否有一种方法可以找到所有改变URL的事件?实际上,解决方案似乎是setInterval
,并定期检查。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-