在浏览器控制台中执行时暂停 Javascript
Pause Javascript when executing it in browser console
我需要在 Chrome 的控制台中延迟执行 Javascript。如何做到这一点?
我需要这个的原因是,一旦焦点从网页(或网页的某个元素)改变,它就会被重新绘制。因此,我想延迟几秒启动我在控制台中执行的脚本,这样我就可以将焦点转移到我正在使用的页面上的正确元素上。
编辑 1:Dinesh Padiyan。
对我不起作用,请看屏幕截图:
如果出于调试目的需要延迟,则需要在代码中添加 debugger;
语句。当您添加调试器并打开您的开发人员工具时,脚本执行将在您的 debugger;
语句处暂停,您可以在开发人员工具中检查您的代码。
console.log('I will execute');
debugger; // execution will pause at this line
console.log("I won't execute until you say so");
如果您的站点行为需要延迟执行,可以使用setTimeout()
延迟调用。
console.log('I will be printed immediately');
setTimeout(function() {
console.log('I will be printed after 5s');
}, 5000); // 5s delay
您可以像这样扩展 console
对象,然后使用自定义 logLater
方法。
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);
function delay (ms){ return new Promise(resolve => setTimeout(resolve, s)); }
"async" 工作演示:
http://zarsoft.info/software/_Test/pause_javascript/index.html
我需要在 Chrome 的控制台中延迟执行 Javascript。如何做到这一点?
我需要这个的原因是,一旦焦点从网页(或网页的某个元素)改变,它就会被重新绘制。因此,我想延迟几秒启动我在控制台中执行的脚本,这样我就可以将焦点转移到我正在使用的页面上的正确元素上。
编辑 1:Dinesh Padiyan。
对我不起作用,请看屏幕截图:
如果出于调试目的需要延迟,则需要在代码中添加 debugger;
语句。当您添加调试器并打开您的开发人员工具时,脚本执行将在您的 debugger;
语句处暂停,您可以在开发人员工具中检查您的代码。
console.log('I will execute');
debugger; // execution will pause at this line
console.log("I won't execute until you say so");
如果您的站点行为需要延迟执行,可以使用setTimeout()
延迟调用。
console.log('I will be printed immediately');
setTimeout(function() {
console.log('I will be printed after 5s');
}, 5000); // 5s delay
您可以像这样扩展 console
对象,然后使用自定义 logLater
方法。
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);
function delay (ms){ return new Promise(resolve => setTimeout(resolve, s)); }
"async" 工作演示: http://zarsoft.info/software/_Test/pause_javascript/index.html