Chrome:调试谁更改了 document.location.hash

Posted

技术标签:

【中文标题】Chrome:调试谁更改了 document.location.hash【英文标题】:Chrome: Debug who changes document.location.hash 【发布时间】:2022-01-23 06:45:42 【问题描述】:

我正在分析一个站点,其中 document.location.hash 在页面加载几秒钟后发生变化。这似乎是异步的。 是否可以通过 Chrome 检查器调试谁更改了哈希?

现在我只添加了一个“watch”,但没有断点。

谢谢

【问题讨论】:

【参考方案1】:

您可以为“hashchange”启用事件侦听器断点:

截至 2019 年第四季度,此功能存在于“源”选项卡中,位于标题为“事件侦听器断点”的面板中。

当代码现在对 location.href 进行更改时,Chrome 将在此事件的处理程序处停止:

您现在可以使用“调用堆栈”面板找到原因。

这仅在已经有 hashchange 的事件处理程序时才有效。

假设您的代码中还没有这样的事件处理程序,请创建一个这样的事件处理程序:

window.addEventListener("hashchange", function(e) 
    debugger;
);

【讨论】:

谢谢,太好了。我搜索了它,但我昨天没有找到。 大家好,今天 2019 年第 4 季度来这篇文章的人,它现在已移至 Chrome 开发工具中“源”选项卡中的“事件侦听器断点”面板。 原谅我,但是这个是如何移动到这样一个面板的?查看已接受帖子中的第一个屏幕截图,它已经位于名为“Event Listener Breakpoints”的“Sources”面板中。没有任何改变。

以上是关于Chrome:调试谁更改了 document.location.hash的主要内容,如果未能解决你的问题,请参考以下文章

如何启动reactnative

在 Visual Studio 中调试时如何强制 Chrome 浏览器重新加载 .css 文件?

您如何更改/自定义 Chrome 开发者工具的键盘快捷键?

在 Chrome 中捕获 XHR / Ajax 请求

禁止Chrome的缓存

在 Chrome、Firefox 和 cURL 上突然出现分块请求问题