我在浏览器中运行一个脚本来向下滚动页面。我从浏览器控制台(ctrl + shift + j)运行它。
var popWys = 0;
var terazWys = 0;
var proba = 0;
function scrollowanie() {
if(popWys == document.body.scrollHeight)
{
proba++;
if(proba > 10)
{
window.alert("To juz chyba wszystko, w razie czego odpal ponownie.");
return;
}
}
else
{
proba = 0;
}
popWys = document.body.scrollTop;
terazWys += 1000;
window.scrollTo(0,terazWys);
setTimeout(scrollowanie, 100);
}
setTimeout(scrollowanie, 100);
问题。如何随时从命令行停止它?我可以写点东西,按停止吗? Sam永远不会停止并阻止浏览器。我尝试了不同的方法:return;打破;停止。一切都没有用。
能做到吗?
答案 0 :(得分:0)
您可以使用clearTimeout([variable name])
来停止setTimeout(scrollowanie, 100);
只需将setTimeout(scrollowanie, 100);
分配给全局变量,如下所示:
globalVar = setTimeout(scrollowanie, 100);
然后在控制台中输入clearTimeout(globalVar)
,执行将结束
答案 1 :(得分:0)
您可以将所需的行为包装在处理该过程的对象中。
例如:
var script = (function () {
var timeout;
var DESIRED_TIME = 100;
function scrollowanie() {
console.log('::Testing');
// Desired behaviour here
clearTimeout(timeout);
timeout = setTimeout(scrollowanie, DESIRED_TIME)
}
return {
start: function() {
timeout = setTimeout(scrollowanie, DESIRED_TIME);
},
stop: function () {
clearTimeout(timeout);
}
}
})();
然后在命令行中,您只需要启动该过程
script.start();
并结束它
script.stop();