Electron javascript 仅在 devtools 打开时工作

Electron javascript only working when devtools is open

我有一个利用 electron 和 puppeteer 的程序。当用户向下滚动到电子应用程序页面的底部时,puppeteer 会被触发向下滚动以加载更多列表项,这些列表项会依次加载到电子应用程序页面上。在一个 html 电子页面上,该脚本有效。它使用一个函数加载 10 个项目,添加一个滚动事件侦听器,当触发时将使用上述函数加载另外 10 个项目。但是在不同的 html 电子页面上,使用相同的功能它将加载十个不同的项目,添加滚动事件侦听器并尝试在用户滚动时继续尝试加载十个。问题是当用户滚动到底部时,它会加载前十个,然后无法加载其他的,除非开发工具在电子应用程序中打开。我已经通过在用户滚动时创建警报 windows 对其进行了测试,因此我知道事件侦听器已正确附加到文档中。我在控制台中没有收到任何错误,因为它在控制台打开时有效。

Containers.js

let lastContainer, maxScrollY = getMaxScrollY(), loading = false, newPage = true, songData; //These reset after a new page has loaded 

const createContainers = (page, createContainer) => {
    const conPerCycle = 10;

    containers(conPerCycle, createContainer, page); // Initial Loader; Loads data, creates container, adds data to container

    document.addEventListener('scroll', (e) => {
        if (Math.floor(window.scrollY) == maxScrollY && !loading) {
            newPage = false;
            containers(conPerCycle, createContainer, page); // Triggered Loader; Loads data, creates container, adds data to container
        }
    });
}; 

Math.floor(window.scrollY) 不等于 maxScrollY,少了一个像素,因为我用的是 Math.floor,改成 Math.ceil 就开始工作了,结案了!