У меня есть скрипт контента, работающий на каждой странице.Он обновляет HTML страницы, который, кажется, занимает больше времени на более длинных страницах (сценарий часто обходит DOM).На более длинных страницах выполнение сценария может занять до 10-20 секунд, и кажется, что, если это занимает слишком много времени, Chrome останавливает выполнение сценария, потому что на этих страницах я вижу, что изменилась только часть страницы.Странная часть заключается в том, что когда я добавляю несколько предупреждений где-то в коде, разделяя среду выполнения на несколько частей, сценарий прекрасно работает и изменяет всю страницу.Однако, когда предупреждение удалено, сценарий снова останавливается преждевременно, и изменяется только часть страницы.
Мой единственный вывод - Chrome останавливает сценарии, которые выполняются слишком долго, поэтому мой вопрос -правда?И если так - что с этим можно сделать?(кроме использования надоедливых всплывающих предупреждений)
У меня есть другая теория, сценарий останавливается, потому что каким-то образом возникает конфликт, когда одновременные команды пытаются изменить DOM.Это имеет больше смысла?
Подробнее об архитектуре: Фоновая страница получает сообщение из скрипта контента.Это сообщение включает в себя функцию обратного вызова (функция, которая фактически изменяет HTML).Затем эта функция вызывается с фоновой страницы несколько раз в зависимости от длины страницы.Если я вставляю предупреждение в функцию обратного вызова, каждый вызов выполняется без проблем.Однако, если я удаляю его, выполняется только первый вызов с фоновой страницы, и дальнейшие вызовы ничего не делают (хотя код фоновой страницы продолжает выполняться).