@Kardamon90

От чего всплывает ошибка в скрипте при подключении в functions.php?

Столкнулся с такой проблемой, переношу верстку на вордпресс, при подключении файла скрипта через functions.php выдает ошибку:63af6fe0dfba9027828276.png
В то же время код в целом работает, но ошибка глаза елозит и не стоит такое оставлять

Ругается на отрезок кода из библиотеки попапов при создании блока тени
e ? this.shadow = e : (this.shadow = document.createElement("div"), this.shadow.classList.add("hystmodal__shadow"),
    document.body.appendChild(this.shadow)), this.eventsFeeler();
}

body.appendChild(this.shadow)), this.eventsFeeler(); выделяет красным

При подключении скрипта с верстки все нормально
Что это такое и как вообще влияет подключение файла к этой ошибке:/
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Вот что тебе не понятно в ошибке?
Он тебе пишет "не могу прочитать appendChild у null".
Включаем голову и глаза на ней: откуда он хочет прочитать appendChild в данном месте?
Из document.body, так?
В каком случае document.body === null?
Очевидно, когда никакого body нет на странице.
Когда body нет на странице?
В тот момент когда кусок разметки с body ещё не прочитан.
Когда такое возможно?
Когда скрипт выполняется в head и не ждёт загрузки документа.

Из этого можно сделать вывод, что раньше ты пихал скрипт внутрь body и всё работало, а сейчас wp подключает его в head, как принято.
Соответственно, тебе либо надо найти как пихать скрипт в body в wp, либо, что лучше, дожидаться в скрипте загрузки документа(DOMContentLoaded).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
NikFaraday
@NikFaraday
Student full-stack Developer
Вот так попробуйте что ли...

e ? this.shadow = e : (this.shadow = document.createElement("div"), this.shadow.classList.add("hystmodal__shadow"),
    document.body.appendChild(this.shadow), this.eventsFeeler());
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы