Используя fetch
, я получаю документ по своему URL-адресу с различными элементами <placeholder>
, которые затем загружаются через JS (при обычном извлечении страницы).
Есть ли способ заставить fetch возвращать страницу только после выполнения JS? Или есть способ попросить fetch вернуть страницу только через 1 секунду?
Пожалуйста, поделитесь минимальным воспроизводимым примером кода, который вы используете?
fetch
вернет вам HTML, он не запустит какой-либо сопутствующий код. Если вы ожидаете отформатированный шаблон, вы должны либо вернуть его из бэкенда, либо отформатировать отдельно на фронтенде.Чтобы расширить то, что @VLAZ уже сказал: когда вы загружаете страницу в браузер, браузер запрашивает HTML, а затем выполняет кучу других вещей: синтаксический анализ, рендеринг, извлечение ссылочных ресурсов и скриптов, выполнение этих скриптов и т. д. Ваш
fetch
— это часть «запрашивает HTML». Ничего из этого не произойдет.Самый быстрый способ исправить ваш подход: установить загруженный HTML как
.innerHTML
вновь созданного контейнера div; это проанализирует его в DOM. Затем заполните его с помощью кода в уже загруженном скрипте (при необходимости переместите его туда) и вставьте окончательный заполненный HTML-код в свой документ.