网页检查器参考脚本黑盒

通常,在调试使用 JavaScript 库/框架的网站时,JavaScript 调试器仍然会暂停 JavaScript 库/框架中的 JavaScript 执行。在使用事件断点DOM 断点时,这种情况尤其普遍。

在这些情况下,JavaScript 库/框架的内部工作原理并不真正相关,理想情况下在调试时应跳过。

脚本黑盒是指在 Web 检查器中标记一个<script>,使其被 JavaScript 调试器忽略,这意味着任何在该<script>中发生的JavaScript 执行暂停都将被延迟,直到 JavaScript 执行在该<script>之外继续进行。

<script>黑盒化非常简单,只需单击任意<script>树元素旁边的 [调试时忽略脚本],或右键单击任意<script>树元素并选择黑盒脚本

例如,在调试通过jQuery添加的 DOM 事件监听器时,在传递给$(选择器).on(事件, 处理程序)处理程序暂停 JavaScript 执行比在jQuery.event.add中暂停更有用,因为后者是网站作者未编写的代码。

jQuery <script>黑盒化意味着 JavaScript 执行将在处理程序中暂停,而不是在jQuery.event.add中。

模式黑盒

然而,有时仅黑盒化单个<script>是不够的,例如当<script>每次从不同的 URL 加载时,或者当整个文件夹都可以被黑盒化时。

在这些情况下,设置选项卡中的黑盒窗格允许基于正则表达式模式的脚本黑盒。

如果任何<script>的 URL 与表中的任何正则表达式匹配,该<script>将自动被黑盒化,这通过显示 [由于先前设置的黑盒 URL 模式,脚本在调试时被忽略] 来表示。


针对 Safari 技术预览版 154 更新。请试用以获取最新的 Web 检查器功能,包括上述所有功能及更多内容。


作者:Devin Rousso,2020 年 1 月 14 日

上次更新:Devin Rousso,2022 年 9 月 22 日