Я работаю над изменением некоторого контента, который динамически загружается через другой скрипт (назовем его скриптом №1) на мой сайт. Сценарий №1 загружает некоторую разметку и содержимое, и я использовал функцию setTimeout() для вызова моего сценария (сценарий №2) с задержкой в несколько секунд, чтобы убедиться, что сценарий №1 выполнен и содержимое присутствует в DOM.
Моя проблема в том, что Script # 1 имеет разное время загрузки в зависимости от нагрузки на сервер и может быть медленным или быстрым в зависимости от этих факторов, и прямо сейчас, играя безопасно с setTimeout(), у меня часто остается секунда или две, где мои сценарии все еще ждут запуска, а сценарий №1 уже загрузил содержимое.
Как я могу выполнить свой сценарий, как только сценарий № 1 успешно загрузит его динамическое содержимое?
Я нашел это сообщение, которое, похоже, касается та же проблема, но использование функции setInterval, как изложил @Matt Ball, по какой-то причине вообще не работает. Я использую приведенный ниже код, где «div.enrollment» предназначен для поиска в DOM, который динамически загружается и выполняется.
jQuery(window).load(function ($)
{
var i = setInterval(function ()
{
if ($('div.enrollment').length)
{
clearInterval(i);
// safe to execute your code here
console.log("It's Loaded");
}
}, 100);
});
Любая помощь в руководстве по этому вопросу будет принята с благодарностью! Спасибо за ваше время.