Загрузка js по событию начала активности пользователя

68
Алексей,

Я всё мучаю загрузку яндекс карт. Уж слишком они тяжелые, сразу грузить нельзя, а при открытии они загружаются очень долго.

Как вариант, можно API загружать при любом действии пользователя (например скролл или движение мыши), а объекты добавлять при "показе" карты.

$(document).on('mousemove', function (event) { // по движению мыши
	let map = $('#map');
	if (!map.hasClass('map-loaded')) {
		$(this).off(event);
		// загружаем апи карт, после загрузки добавляем класс map-loaded
	}
}).on('touchmove', function (event) { // по движению пальца
	let map = $('#map');
	if (!map.hasClass('map-loaded')) {
		$(this).off(event);
		// загружаем апи карт, после загрузки добавляем класс map-loaded
	}
});
$('#button-open-map').on('click', function () { // при клике кнопки
	let map = $('#map');
	if (!map.hasClass('points-added')) {
		// добавляем точки на карту, после добавляем класс карте points-added
	}
	return false;
});
Опубликовано 9 июня 2021 | Обновлено 18 июня 2021
производительность, костыли, Яндекс.Карты, js
Поделиться
Похожие статьи
Загрузка и инициализация API Яндекс карт при скролле 0
API карт весит много, js код тяжёлый. Загружать сразу - плохая идея. Если карта появляется по клику,...
Читать дальше »
Алексей,
Комментарии
Зарегистрируйтесь чтобы получать уведомления об ответе
Я всё мучаю загрузку яндекс карт. Уж слишком они тяжелые, сразу грузить нельзя, а при открытии они загружаются очень долго.