Запуск JavaScript функции при загрузке страницы без jQuery

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Если вам требуется запустить функцию JavaScript сразу после полного обработания документа, примените следующий код:

JS
Скопировать код
document.addEventListener('DOMContentLoaded', () => {
  myFunction();
});

function myFunction() {
  // Логика функции
}

В данном примере мы используем DOMContentLoaded для активации функции сразу после обработки HTML, но до загрузки внешних ресурсов, таких как изображения.

Однако, если функция должна быть вызвана после полной загрузки всех ресурсов страницы, используйте window.onload:

JS
Скопировать код
window.onload = () => {
  myFunction();
};

function myFunction() {
  // Реализация функции
}

В зависимости от ситуации можно использовать DOMContentLoaded для активации после построения DOM или window.onload после полной загрузки страницы.

Кинга Идем в IT: пошаговый план для смены профессии

Групповое выполнение – активация нескольких функций

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

JS
Скопировать код
window.onload = () => {
  firstFunction();
  secondFunction();
  // Тут можно добавить вызовы других функций
};

function firstFunction() { /* реализация первой функции */ }
function secondFunction() { /* реализация второй функции */ }

Такой подход позволяет инициировать выполнение нескольких действий одновременно.

Что касается структуры вашего веб-сайта, то здесь нужно быть внимательным. Если вы работаете с HTML без тега <body> или с JSP-фрагментами, разместите JavaScript в соответствующем месте.

Самостоятельное выполнение – отказ от помощи jQuery

Современный JavaScript обладает всеми необходимыми инструментами для работы без использования библиотек, таких как jQuery. Он предлагает встроенные возможности, которые порой могут быть более эффективными и приближенными к стандартам.

Не забывайте проводить тестирование функций после загрузки страницы.

Сложная инициализация? Нет проблем

Для обработки асинхронных операций или загрузки данных можно использовать промисы JavaScript или async/await в контексте window.onload.

Тонкая настройка 'Когда' выполнять JavaScript

Чтобы оптимизировать момент выполнения JavaScript, используйте атрибуты async или defer в теге <script>, либо разместите скрипты в конце элемента <body>:

JS
Скопировать код
<script defer src="/path/to/your/script.js"></script>

Визуализация

Процесс загрузки страницы и выполнения функции можно представить как отправление поезда:

Markdown
Скопировать код
Станция Onload 🚉: [📄 Загрузка страницы]
Локомотив JavaScript 🚂: [🚀 Выполнение функции]

Поезд собирается к отправке, и браузер подает сигнал (активирует функцию):

JS
Скопировать код
window.onload = function() { 🚂💨 };

И вуаля, ваша функция в действии:

Markdown
Скопировать код
📄🚉 -> 🚂💨🛤️ -> 🚀

Учёт разных сценариев

Для динамических сайтов порой требуется особая инициализация переменных или состояний внутри window.onload или DOMContentLoaded. Не забывайте тестировать код, чтобы убедиться в его корректности при различных условиях.

JS
Скопировать код
window.onload = () => {
  // Установка начального состояния
  setupPage();
  // Заполнение динамического контента
  populateDynamicContent();
  // Инициализация слушателей событий
  setupEventListeners();
  // И, наконец, время для заслуженного кофе
};

Полезные материалы

  1. Window: событие load – Web APIs | MDN — Детальное описание событий load в JavaScript.
  2. Разница между событиями DOMContentLoaded и load – Stack Overflow — Сравнение DOMContentLoaded и load.
  3. .ready() | jQuery API Documentation — Объяснение метода .ready() в jQuery и его аналогов в JavaScript.
  4. EventTarget: метод addEventListener() – Web APIs | MDN — Погружение в метод addEventListener().
  5. Тег Script – атрибуты async & defer – Stack Overflow — Обзор атрибутов async и defer для загрузки скриптов.
  6. Использование промисов – JavaScript | MDN — Гид по промисам для асинхронных операций.
  7. Загрузка сторонних JavaScript – web.dev — Статья о оптимизации загрузки внешних скриптов.