Я создаю расширение Chrome, и в моем contentScript у меня есть функция, которая зацикливает все элементы <link>
и проверяет, имеет ли он атрибут rel="preconnect"
.Если true, значок расширения изменится.
ContentScript запускается при запуске документа и функции.Функция работает onDomLoaded
.Когда предварительный рендер находится непосредственно в HTML-коде, расширение работает отлично.Однако, когда JS генерирует prerender, значок не изменится.Возможно, потому что скрипт не полностью загружен, когда происходит onDomLoaded.
Однако, когда я вместо этого использую window.onload, он действительно медленный, и значок меняется с задержкой, потому что он ожидает полной загрузки скриптов.Как справиться с этой ситуацией и ждать только при необходимости?
Манифест
content_scripts":
[{
"matches": ["https://*/*"],
"run_at": "document_start",
"js": ["js/contentScript.js"]
}]
ContentScript
document.addEventListener("DOMContentLoaded", function(event) {
//here I loop the page and if preconnect found, change the icon
)};