Chrome devtools open 如何改变行为?

How does having Chrome devtools open change behaviour?

在我的 JavaScript 中,我实现了一个隐藏标题栏的功能,它由 scrollEvent 触发。所以当我向下滚动时,标题栏被隐藏了。当我开始向上滚动时,它显示出来了。将其视为与大多数移动浏览器对搜索栏所做的类似效果。

事情是这样的...打开 devtools,它工作得很好。如果我关闭 devtools,效果将不再有效,即。当我向下滚动时,标题栏仍然可见。如果我重新打开 devtools (ctrl-shift-j),效果会再次起作用。我是 运行 单独 window 中的开发者工具,因此它的存在不会影响我的应用程序的 window 尺寸。

有人知道 Chrome devtools 的存在对 Javascript 或渲染行为有什么影响吗?

注意,对于任何错过我问题要点的快速读者,我不是寻求解决我所看到的问题的方法。我只是专门要求回答我的问题。

编辑:我现在发现在前台和后台有 devconsole 也很重要。在前台使用控制台,它可以工作,在后台失败。在 https://ibb.co/4M75sPQ

查看动画 gif

很久以前我在堆栈中遇到过类似的问题。我的影响了 JS 的执行方式和速度,特别是当我打开控制台时 JSPerf 变慢了,测试完全搞砸了

不过,有些问题可能与您的开发工具配置有关,正如该用户在这个问题中指出的那样 https://askubuntu.com/a/633838/742250

您是否尝试过隐身模式 window 或其他浏览器? Mozilla 还是 Safari?

Chrome DevTools 会将焦点从您的应用移开,因此如果您的应用以任何方式对焦点敏感,或者受到前台与后台的相对执行优先级的影响 windows,可能是一个因素。