Fetch возвращает только заполнители, как заставить его ждать?

avatar
Trees4theForest
1 июля 2021 в 21:19
50
0
0

Используя fetch, я получаю документ по своему URL-адресу с различными элементами <placeholder>, которые затем загружаются через JS (при обычном извлечении страницы).

Есть ли способ заставить fetch возвращать страницу только после выполнения JS? Или есть способ попросить fetch вернуть страницу только через 1 секунду?

Источник
evolutionxbox
1 июля 2021 в 21:20
1

Пожалуйста, поделитесь минимальным воспроизводимым примером кода, который вы используете?

VLAZ
1 июля 2021 в 21:20
4

fetch вернет вам HTML, он не запустит какой-либо сопутствующий код. Если вы ожидаете отформатированный шаблон, вы должны либо вернуть его из бэкенда, либо отформатировать отдельно на фронтенде.

ray hatfield
1 июля 2021 в 21:26
1

Чтобы расширить то, что @VLAZ уже сказал: когда вы загружаете страницу в браузер, браузер запрашивает HTML, а затем выполняет кучу других вещей: синтаксический анализ, рендеринг, извлечение ссылочных ресурсов и скриптов, выполнение этих скриптов и т. д. Ваш fetch — это часть «запрашивает HTML». Ничего из этого не произойдет.

Chris G
1 июля 2021 в 21:26
0

Самый быстрый способ исправить ваш подход: установить загруженный HTML как .innerHTML вновь созданного контейнера div; это проанализирует его в DOM. Затем заполните его с помощью кода в уже загруженном скрипте (при необходимости переместите его туда) и вставьте окончательный заполненный HTML-код в свой документ.

Ответы (0)