Как определить, когда загрузился динамический контент WordPress?

В настоящее время я работаю над проектом, в котором наш клиент хочет Галерею. Эту галерею можно фильтровать с помощью кнопок над галереей. Хотя я считаю, что нашел и реализовал необходимую логику для работы с URL-параметрами и ключевыми словами в источнике изображения (через различные тесты), моя текущая проблема заключается в том, что скрипт работает до, динамический контент (изображения) имеет загружается, а это значит, что на самом деле ничего не происходит.

Я пробовал использовать jQuery(document).on("ready", function() {});, jQuery(".gallery img").on("load", function() {}); и jQuery(".gallery img").load(function() {});, но безрезультатно.

Если это еще не очевидно, к контейнеру можно получить доступ через .галерея, а изображения — ну, изображение.

Я уже был в различных чатах StackOverflow, где мне предлагали переместить скрипт туда, куда загружается динамический контент, но, увы, я не знаю, где находится этот файл.

Где вы нашли этот jQuery(document).on("ready", function() {});? Можете дать ссылку?

Roko C. Buljan 10.02.2019 20:50

Правильно .... использование on('ready' недействительно и не было в течение длительного времени. Кроме того... ключевой вопрос заключается в том, загружается ли этот "динамический контент" асинхронно?

charlietfl 10.02.2019 20:52

Используйте $(window).on('load',function(){ ... }), который не должен срабатывать, пока не загрузятся все изображения. Если изображения не вставляются с помощью JS после загрузки страницы. В этом случае вам необходимо обратиться к документации плагина. у них, вероятно, есть загруженный обработчик событий

andrew 10.02.2019 20:52

@andrew ... при условии, что асинхронный контент не загружается ... но согласитесь, если все это находится в исходном коде сервера

charlietfl 10.02.2019 20:53

@RokoC.Buljan Кажется, я смешал это с jQuery(document).ready(), плохо!

Xariez 10.02.2019 20:54

@charlietfl Достаточно честно, сложно сказать, но я предполагаю, что где-то он загружается асинхронно через AJAX.

Xariez 10.02.2019 20:55

@andrew Постараюсь! Не знаю, почему я раньше не подумал о документации плагинов, спасибо!

Xariez 10.02.2019 20:55

вы можете проверить, обратившись к вкладке сети в консоли разработчика вашего браузера. нажмите f12 и посмотрите на вкладку network->xhr. если вы видите там данные, они загружаются с помощью ajax после загрузки страницы

andrew 10.02.2019 20:56

Если он загружается плагином с использованием jQuery ajax, существуют глобальные методы ajax, которые вы, вероятно, можете использовать, например $.ajaxComplete. Нужно много более конкретных деталей, чтобы разобраться с этим

charlietfl 10.02.2019 20:57

@andrew Хороший вопрос. Казалось бы, он действительно загружается через AJAX.

Xariez 10.02.2019 20:59

Вам следует просто удалить этот вопрос, так как он решен с использованием информации, не содержащейся в самом вопросе, и, следовательно, не имеет долгосрочной ценности для других.

charlietfl 10.02.2019 21:50
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
11
133
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если галерея заполняется с помощью запросов Ajax, вы можете использовать обработчик событий jQuery .ajaxStop(). Когда Ajax-запрос выполнен, jQuery проверяет, остались ли какие-либо оставшиеся запросы. Если их нет, то запускается событие ajaxStop.

Простой обработчик ajaxStop:

$(document).ajaxStop(function() {
  console.info('All Ajax requests completed.')
});

Другие вопросы по теме