javascript - 如何停止页面上的脚本执行?

标签 javascript google-chrome debugging google-chrome-devtools

我在 Chrome 中随机打开了一个互联网页面。我使用启用的 javascript 打开它,因为我需要执行一些脚本。

从某个时刻开始,我想停止脚本执行,因此不应运行任何计时器或事件处理程序。当然,使用无限循环是不行的,因为我希望页面能够响应。

我怎样才能做到这一点?

下面的代码部分完成了我需要的

document.body.outerHTML = document.body.outerHTML
for(t=setTimeout(()=>{}); t; --t) clearTimeout(t)

但是:

  1. document 上的事件监听器和 ajax 回调将继续存在
  2. 这会导致解析html,所以一些无效的标记可以通过解析来改变

此外,我希望有一些方法可以通过开发工具来完成,而无需实际与页面代码交互。

PS:如果我需要使用其他浏览器,没关系。

最佳答案

您可以随时使用 DevTools 中的命令菜单在页面上启用/禁用 JavaScript。您可以使用 Cmd+Shift+P (Mac) 或 Ctrl+Shift 访问此菜单+P(Windows/Linux)。

开始键入 Disable JavaScript 并按 Enter 以禁用脚本执行。

在下面的示例中,我运行了一个异步计时器,以每 500 毫秒记录一次增量计数。禁用 JavaScript 后,执行将暂停,控制台不会记录任何其他内容。

Disable

我后来通过键入“启用 JavaScript”并按 Enter 重新启用了 JavaScript。执行此操作后,执行继续,计时器从停止处继续。

Paused

注意:任何在您尝试禁用 JavaScript 时仍在运行的同步代码都不会被终止。它将完成,然后进一步执行将被禁用。

关于javascript - 如何停止页面上的脚本执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42518189/

相关文章:

javascript - 如何使 javascript 函数成为 html 属性?

javascript - 如何在node.js中从一个文件调用JS函数到另一个文件?

javascript - +是什么意思!!在javascript中?

php - 在VSCode中使用Docker调试PHP

php - NetBeans PHP 运行配置 : how can I omit the doc-root folder?

debugging - 如何将多个 TestNG 套件结果合并到一份报告中?

javascript - 使用 Require 和 Resharper 进行前端 javascript 测试

java - Selenium 无法接受 google chrome 的警报 [java]

c# - 如何以编程方式安全关闭 Google Chrome

google-chrome - 如何检查 websocket 连接?