我在Chrome中打开了一个随机网页。我正在使用启用的javascript打开它,因为我需要执行一些脚本。
从某些时刻开始,我想停止脚本执行,因此不应该运行任何计时器或事件处理程序。使用无限循环的时候不行,因为我希望页面能够响应。
我怎样才能实现?
以下代码部分完成了我需要的工作
document.body.outerHTML = document.body.outerHTML
for(t=setTimeout(()=>{}); t; --t) clearTimeout(t)
但:
document
上的事件监听器和ajax回调将继续存在此外,我希望有一些方法可以通过devtools实现,而无需实际与页面代码进行交互。
PS:如果我需要使用其他浏览器,那没关系。
答案 0 :(得分:8)
您可以使用DevTools中的命令菜单随时在页面上启用/禁用JavaScript。您可以使用 Cmd + Shift + P (Mac)或 Ctrl + Shift来访问此菜单 + P (Windows / Linux)。
开始输入Disable JavaScript
并点击 Enter 以禁用脚本执行。
在下面的示例中,我运行了一个异步计时器,每500ms记录一次增量计数。禁用JavaScript后,执行暂停,并且没有其他任何内容记录到控制台。
我后来通过输入“启用JavaScript”并点击 Enter 重新启用了JavaScript。执行此操作后,执行继续,计时器从中断处继续。
注意:尝试禁用JavaScript时仍会运行的任何同步代码都不会被终止。它将完成,然后将禁用进一步的执行。