Скидки до 28% + 2-ая профессия бесплатно и подарки на 50 000₽

как запустить javascript функцию после полной загрузки страницы

Аватар пользователя Elena Gromova
Elena Gromova
3 дня назад

1. Использование события DOMContentLoaded

Самый распространенный способ — это использование события DOMContentLoaded. Это событие срабатывает, когда весь HTML-документ был загружен и разобран, но не дожидается загрузки таблиц стилей, изображений и подзагрузок фреймов.

document.addEventListener("DOMContentLoaded", function() {
    // Ваша функция здесь
    myFunction();
});

function myFunction() {
    console.log("Страница полностью загружена!");
}

2. Использование события load

Если вам нужно дождаться загрузки всех ресурсов на странице (изображений, стилей, скриптов и т.д.), вы можете использовать событие load:

window.addEventListener("load", function() {
    // Ваша функция здесь
    myFunction();
});

function myFunction() {
    console.log("Все ресурсы страницы полностью загружены!");
}

3. Помещение скрипта перед закрывающим тегом </body>

Еще один подход — разместить ваш скрипт внизу страницы перед закрывающим тегом </body>. Это гарантирует, что весь HTML-код будет загружен до выполнения вашего JavaScript:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Пример</title>
</head>
<body>
    <h1>Добро пожаловать!</h1>

    <script>
        function myFunction() {
            console.log("Страница загружена!");
        }
        myFunction();
    </script>
</body>
</html>

4. Использование jQuery

Если вы используете jQuery, то можете воспользоваться методом $(document).ready(), который срабатывает, как только DOM готов:

$(document).ready(function() {
    myFunction();
});

function myFunction() {
    console.log("Страница готова к взаимодействию!");
}

Современные версии jQuery также поддерживают сокращённый синтаксис:

$(function() {
    myFunction();
});

5. Использование современных подходов (ES6+)

Если вы используете современные функции JavaScript и хотите сделать код более чистым, можно использовать стрелочные функции вместе с методами событий:

document.addEventListener('DOMContentLoaded', () => {
    myFunction();
});

const myFunction = () => {
    console.log("Страница загружена с использованием стрелочной функции!");
};

Вывод

Выбор подхода зависит от ваших конкретных нужд:

  • Если вам важна скорость взаимодействия с DOM, используйте DOMContentLoaded.
  • Если вам нужно дождаться загрузки всех ресурсов, используйте событие load.
  • Если у вас есть доступ к jQuery, вы можете использовать $(document).ready(), но для новых проектов стоит рассмотреть чистый JavaScript.

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

0 0

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Тест-драйв

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Базы данных

Фреймворки