我在 Chrome 中随机打开了一个互联网页面。我使用启用的 javascript 打开它,因为我需要执行一些脚本。
从某个时刻开始,我想停止脚本执行,因此不应运行任何计时器或事件处理程序。当然,使用无限循环是不行的,因为我希望页面能够响应。
我怎样才能做到这一点?
下面的代码部分完成了我需要的
document.body.outerHTML = document.body.outerHTML
for(t=setTimeout(()=>{}); t; --t) clearTimeout(t)
但是:
document
上的事件监听器和 ajax 回调将继续存在- 这会导致解析html,所以一些无效的标记可以通过解析来改变
此外,我希望有一些方法可以通过开发工具来完成,而无需实际与页面代码交互。
PS:如果我需要使用其他浏览器,没关系。
最佳答案
您可以随时使用 DevTools 中的命令菜单在页面上启用/禁用 JavaScript。您可以使用 Cmd+Shift+P (Mac) 或 Ctrl+Shift 访问此菜单+P(Windows/Linux)。
开始键入 Disable JavaScript
并按 Enter 以禁用脚本执行。
在下面的示例中,我运行了一个异步计时器,以每 500 毫秒记录一次增量计数。禁用 JavaScript 后,执行将暂停,控制台不会记录任何其他内容。
我后来通过键入“启用 JavaScript”并按 Enter 重新启用了 JavaScript。执行此操作后,执行继续,计时器从停止处继续。
注意:任何在您尝试禁用 JavaScript 时仍在运行的同步代码都不会被终止。它将完成,然后进一步执行将被禁用。
关于javascript - 如何停止页面上的脚本执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42518189/