Без использования веб-работников то, что вы предложили (используя setTimeout
), является единственным способом сделать это, и, конечно, на самом деле это совсем не «фон».Обратите внимание, что вам нужно будет делать обработку достаточно короткой каждый раз, когда вы запускаете «фоновый» код, потому что это не совсем фоновый код;пока ваш код работает, страница будет довольно не отвечать (степень, в которой она не отвечает, будет зависеть от браузера, но, конечно, любой код JavaScript на странице должен будет ждать завершения вызова вашей функции).