我需要一种方法来为window.location的每个赋值附加一些预处理。有没有办法做到这一点。我基本上需要序列化一些信息,这将在新的位置使用。Javascript:如何拦截window.location更改
27
A
回答
24
可以使用beforeunload
事件来触发你的代码运行导航之前...如果你需要更具体的(例如,仅在启动代码导航),在东西n我建议您将代码更改为window.location
作为单独的函数,并为您的自定义逻辑添加一个钩子。
14
你可能想看看本纳德尔的帖子关于这样做,可能你在后谈判寻找什么
Binding Events to non DOM objects with jQuery
他的榜样关于创建一个事件处理程序触发更改事件时window.location
改变
+7
实际上,解决方案似乎是'setInterval'并定期检查。 – 2016-05-12 15:45:54
相关问题
- 1. 如何拦截javascript中的innerHTML更改?
- 2. C# - 拦截属性更改
- 3. 拦截剪贴板更改
- 4. 拦截SetChildIndex的值更改
- 5. 拦截注册表更改
- 6. AJAX拦截JavaScript
- 7. 如何拦截
- 8. 如何为ILogger拦截拦截器
- 9. JavaScript拦截呼叫
- 10. JavaScript的AJAX拦截
- 11. 拦截javascript调用
- 12. 拦截并更改TableAdapter上的SQL
- 13. 创建DLL来拦截更改标题
- 14. 拦截JTable的选择更改事件
- 15. 更改现有$ http请求拦截
- 16. Struts2拦截器更改操作
- 17. C#拦截/更改/重定向方法
- 18. 更新/拦截HttpContext.Current.Request.QueryString
- 19. 拦截和更改网站的JavaScript使用的Greasemonkey
- 20. 我该如何改进JavaScript中的碰撞拦截系统?
- 21. 使用javascript window.location更改端口
- 22. 在JavaScript中跟踪对window.location的更改
- 23. 拦截器不拦截
- 24. java拦截器不拦截
- 25. 如何从拦截器中更改JAAS上下文?
- 26. 如何拦截函数调用并用pytest更改参数?
- 27. 如何拦截chrome脚本中的pjax页面更改?
- 28. 如何更改HTTP拦截器中的内容类型
- 29. MPMoviePlayerViewController - 如何拦截或更改完成按钮的功能
- 30. 如何拦截和更改http请求与c#
这是否适用于单页面应用程序?在Angular和其他SPA框架中,URL更改但页面不卸载/重新加载,因此我不知道此事件是否触发。 – 2015-08-07 15:25:54
通常框架提供自定义事件以获取位置更改 – Nobita 2016-03-10 14:08:56
@CarlG,在单页面应用程序中,如果URL散列已更改,则可以使用'onhashchange'来注册处理程序。 – shuangwhywhy 2016-09-08 08:07:04