我正在编写一些代码,需要在循环中对多个站点执行操作(将一些数据切换到另一个站点等)。
我正在尝试使用 setInterval()
来执行此操作。
简化后,在控制台中启动任务时如下所示:
function checkit() {
window.location='http://www.google.pl';
}
var nre = setInterval(checkit,5000);
我尝试启动这个脚本(通过不同的措施以更复杂的形式,从书签,从服务器端脚本等,间隔在我的原始代码中运行正常,甚至在循环中执行我需要的所有操作,直到调用另一个页面(通过 window.open 或 window.location)。比循环只是捕获执行。
我对 JS 很陌生(2 天的经验),所以我可能正在做一些非常愚蠢的事情。关于如何让这件事继续下去有什么建议吗(这是否可能)?
致以诚挚的问候
最佳答案
您将遇到的问题是 JS 不会停留在页面之间,因此一旦页面更改,该循环就会消失。您需要在要访问的每个页面上都有 JS 才能继续流程,即使如此,当您更改页面时,变量也会被破坏。
规避此问题的唯一方法是在 window.name 值中存储序列化对象(或 JSON 字符串),该值可在该选项卡内的各个页面和域中记住。
关于javascript - setInterval 在 window.location/window.open 上中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20359297/