首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在浏览器控制台中执行Javascript时暂停

在浏览器控制台中执行Javascript时暂停
EN

Stack Overflow用户
提问于 2018-11-20 14:44:13
回答 3查看 9.4K关注 0票数 3

我需要在Chrome的控制台上执行Javascript,并有一些延迟。这是如何做到的呢?

我需要这样做的原因是,一旦焦点从网页(或网页的某个元素)改变,它就会被重新绘制。因此,我希望在控制台中启动脚本,延迟几秒钟,这样我就可以将焦点更改为正在处理的页面上的正确元素。

编辑1: Dinesh Padiyan。

不适合我,屏幕截图:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-29 17:32:53

代码语言:javascript
复制
function delay (ms){   return new Promise(resolve => setTimeout(resolve, s));  }

“异步”工作演示:javascript/index.html

票数 0
EN

Stack Overflow用户

发布于 2018-11-20 14:50:30

如果需要延迟调试,则需要将debugger;语句添加到代码中。添加调试器并打开开发工具时,脚本执行将在debugger;语句处暂停,您可以在开发工具中检查代码。

代码语言:javascript
复制
console.log('I will execute');
debugger; // execution will pause at this line
console.log("I won't execute until you say so");

如果需要延迟站点行为的执行,可以使用setTimeout()延迟调用。

代码语言:javascript
复制
console.log('I will be printed immediately');
setTimeout(function() {
  console.log('I will be printed after 5s');
}, 5000); // 5s delay

票数 6
EN

Stack Overflow用户

发布于 2018-11-20 14:55:47

您可以像这样扩展console对象,然后使用自定义logLater方法。

代码语言:javascript
复制
console.logLater = (message, delay) => setTimeout(function() {
  console.log(message);
}, delay);

console.log('I will be printed immediately');

console.logLater('I will be printed after 3 seconds', 3000);

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53395496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档